Dieser Artikel stellt hauptsächlich die Beziehung zwischen Cookies und Sitzungen in PHP und der Sitzungskonfiguration vor. Jetzt kann ich ihn mit Ihnen teilen
1 >Cookie :
setcookie(cookie键的名称,值,过期时间); setcookie('mainuser','YUEWEN',time()+3600);
Cookie lesen:
echo $_COOKIE['mainuser'];
Cookie löschen: Gültigkeitsdauer auf vergangene Zeit setzen
setcookie('mainuser',time()-60);
$_SESSION['Muser'] = 'HUAXIANG';
Sitzung lesen:
echo $_SESSION['Muser']';
SESSION löschen:
$_SSESSION = array(); //将session的值全部清空,文件保留 unset($_SESSION['Muser']); //将该session删除 session_destroy(); //将session连同文件一并删除
Der Unterschied zwischen Cookie und Sitzung:
Cookie wird auf der Clientseite gespeichert und die Sitzung wird auf der Serverseite gespeichert. Da Cookies auf dem Client gespeichert werden, weisen sie eine geringe Sicherheit auf (Manipulationsgefahr) und eine hohe Sitzungssicherheit. Cookies haben eine Größenbeschränkung von 4 KB und können nur 20 Cookies speichern. Es gibt keine Begrenzung für Sitzungen (Cookies müssen Antwortheader bilden, die nicht zu lang sein dürfen). Cookie unterstützt nur das Speichern von Zeichenfolgen und die Sitzung kann alle Arten speichern (Dateien, serialisierte Zeichenfolgen). 8. Was Cookies und Sitzungen gemeinsam haben: Es handelt sich auch um eine Sitzungstechnologie, die eine Speicherfunktion für das HTTP-Protokoll bereitstellt und von verschiedenen Seiten eingestellte Daten teilt. 9 .Die Verbindung zwischen Cookie und Sitzung:
1.Sitzung hängt von Cookie ab, weil die Das HTTP-Protokoll ist zustandslos. Das Speichern des Status auf der Clientseite erfordert auch das Speichern einer Kennung im Cookie >$_COOKIE['PHPSESSID']:F12-Network-Response Headers Informationen anzeigen:
Cookie festlegen: PHPSESSID=erv417ai3mh5p85kp9cvasdc46;
2. Nach dem Generieren der Datei werden bei erneuter Anfrage die Informationen der entsprechenden Datei direkt basierend auf dem Wert dieser PHPSESSIONID gelesen, ohne das
Cookie < zu setzen 🎜> nochmal;F12-Network-Request Headers Informationen anzeigen:
Cookie: PHPSESSID=erv417ai3mh5p85kp9cvasdc46
3. Wenn Cookies deaktiviert sind, ist die Sitzung nicht verfügbar. ;
Nach dem Deaktivieren von Cookies können Sie die PHPSESSID über get oder post an den Server übergeben >, 或者修改配置:
session.use_only_cookies=0; session.use_trans_sid=1
4.session有关配置:
php.ini 查找[session]下: (.htaccess及程序代码ini_set( )可改,具体根据PHP官方手册的函数设置规则)
session.save_handler = files //设置session保存方式(文件);可改为memeche,redis等缓存保存; session.save_path = D:/temp //session保存路径; session.use_cookies = 1 //session是否使用cookie的功能(预设1,启动),session基于cookie使用; session.name = PHPSESSION //session传递到cookie的键名,于网络的请求/响应头可查看; session.auto_start = 0 //是否自动启动session(预设0),一般不设置为1,因自动启动将每次自动调用session_start( )时向响应头传递session数据,将影响对图片文件的处理; session.cookie_lifetime = 0 //(预设0,随浏览器关闭而消失),session使用cookie的生存期,以秒为单位; session.cookie_path = / //session使用cookie的有效路径,预设为在项目根目录下有效; session.serialize_handler = php // 序列化和反序列化处理器; session.gc_probebility = 1 //(分子)垃圾收集的处理几率(预设:1); session.gc_pisor = 1000 //(分母)设置进程比率(php5新增参数),按千分之一的比率进行垃圾收集,即当session失效时删除垃圾文件,根据实际需要设置,如果100/100几率则太消耗服务器资源; session.gc_maxlifetime = 1440 //被处理钱session文件的生存期(预设:1440秒),以上三项参数同时设置;
session小应用:防止刷新执行操作:
if (!empty($_POST) && !isset($_SESSION['flag'])) { $res = fopen('a.txt','a'); //只写 $bool = fwrite($res,$_POST['username']); fclose($res); $_SESSION['flag'] = 1; //第二次刷新请求该值则已存在,不执行以上程序 }
相关推荐:
理解PHP中的Session及对Session有效期的控制,session有效期
Das obige ist der detaillierte Inhalt vonDie Beziehung zwischen Cookies und Sitzungen in PHP und Sitzungskonfiguration. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!