PHP中使用cookie和session
cookie和session不管在java还是php中用的是比较多的,cookie可以看做是客户端技术,session则是服务端技术。像购物车还有网站自动登录都可以用cookie实现,session则比较偏向验证这一块,相比cookie安全性更高,因为session是存储在服务端的,不能随意删除或修改。下面来简单的分享下我的学习心得
1.cookie的使用
如果需要保存cookie可以直接在php页面直接使用setCookie函数来保存cookie使用方法如下
<?php setCookie("username","123456",time()+120); ?>
第一个参数是cookie的键,第二个则是value,第三个表示该cookie什么时候过期单位是秒,time()表示当前时间。这句代码的意思是该cookie在2分钟会过期
更新cookie的方法也是一样。如果是火狐浏览器我们可以看到cookie如下
下面来删除cookie
setCookie($cookiename, '');或者 setCookie($cookiename, NULL);这两种方法都能删除cookie
至于要取得cookie就更简单了,使用$_COOKIE就能取得,批量操作cookie也可以通过这个预定义超全局数组
2.session的使用
(1)启用session
(2)把对象放入session中
session_start(); $_SESSION["password"]="123456";
两句话就可以把sessiona保存起来了,就像下面这样
要取出session也是使用$_SESSION取得,删除单个session可以使用unset($_SESSION["password"]),如果是删除全部可以使用session_destroy();
session的真正原理不是那么好理解,要理解的深入也很难,需要深入的话可以使用firebug查看http的请求和响应。当服务器创建好session之后,会给客户端浏览器返回一个
PHPSESID,这个ID就是会话唯一ID.当下次浏览器客户端要取session就会通过这个唯一ID去服务器端取出session信息。如果客户端把cookie禁用了,按照正常的代码,session就不能共享了。这里提供最简单的两种做法
第一种就是URL重写,先判断是否有PHPSESSID如果有则设置session_id(SID的值);
第二种就是修改php.ini里的session.use_trans_sid把值设为1
对于第一种PHP提供了一个常量叫SID可以直接拿来使用,因为这种情况比较极端平时基本上不会遇到。具体的代码就不写了。有需要可以给我写评论,我直接给发过去。
要注意的是php的session也可以存对象,要注意的就是使用前最好把这个对象用require_once引入就好使了
最后针对session的应用,我在网上找了一个特别简单的验证码,代码如下
<?php session_start(); Header("Content-type: image/PNG"); $im = imagecreate(44,18); $back = ImageColorAllocate($im, 245,245,245); imagefill($im,0,0,$back); $vcodes = ""; srand((double)microtime()*1000000); for($i=0;$i<4;$i++){ $font = ImageColorAllocate($im, rand(100,255),rand(0,100),rand(100,255)); $authnum=rand(1,9); $vcodes.=$authnum; imagestring($im, 5, 2+$i*10, 1, $authnum, $font); } $_SESSION['VCODE'] = $vcodes; for($i=0;$i<100;$i++) { $randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255)); imagesetpixel($im, rand()%70 , rand()%30 , $randcolor); } ImagePNG($im); ImageDestroy($im); ?>
具体怎么用就不用解释了吧


PHPisusedforsendingemailsduetoitsintegrationwithservermailservicesandexternalSMTPproviders,automatingnotificationsandmarketingcampaigns.1)SetupyourPHPenvironmentwithawebserverandPHP,ensuringthemailfunctionisenabled.2)UseabasicscriptwithPHP'smailfunct

The best way to send emails is to use the PHPMailer library. 1) Using the mail() function is simple but unreliable, which may cause emails to enter spam or cannot be delivered. 2) PHPMailer provides better control and reliability, and supports HTML mail, attachments and SMTP authentication. 3) Make sure SMTP settings are configured correctly and encryption (such as STARTTLS or SSL/TLS) is used to enhance security. 4) For large amounts of emails, consider using a mail queue system to optimize performance.

CustomheadersandadvancedfeaturesinPHPemailenhancefunctionalityandreliability.1)Customheadersaddmetadatafortrackingandcategorization.2)HTMLemailsallowformattingandinteractivity.3)AttachmentscanbesentusinglibrarieslikePHPMailer.4)SMTPauthenticationimpr

Sending mail using PHP and SMTP can be achieved through the PHPMailer library. 1) Install and configure PHPMailer, 2) Set SMTP server details, 3) Define the email content, 4) Send emails and handle errors. Use this method to ensure the reliability and security of emails.

ThebestapproachforsendingemailsinPHPisusingthePHPMailerlibraryduetoitsreliability,featurerichness,andeaseofuse.PHPMailersupportsSMTP,providesdetailederrorhandling,allowssendingHTMLandplaintextemails,supportsattachments,andenhancessecurity.Foroptimalu

The reason for using Dependency Injection (DI) is that it promotes loose coupling, testability, and maintainability of the code. 1) Use constructor to inject dependencies, 2) Avoid using service locators, 3) Use dependency injection containers to manage dependencies, 4) Improve testability through injecting dependencies, 5) Avoid over-injection dependencies, 6) Consider the impact of DI on performance.

PHPperformancetuningiscrucialbecauseitenhancesspeedandefficiency,whicharevitalforwebapplications.1)CachingwithAPCureducesdatabaseloadandimprovesresponsetimes.2)Optimizingdatabasequeriesbyselectingnecessarycolumnsandusingindexingspeedsupdataretrieval.

ThebestpracticesforsendingemailssecurelyinPHPinclude:1)UsingsecureconfigurationswithSMTPandSTARTTLSencryption,2)Validatingandsanitizinginputstopreventinjectionattacks,3)EncryptingsensitivedatawithinemailsusingOpenSSL,4)Properlyhandlingemailheaderstoa


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.
