锟结话模锟斤拷锟睫凤拷锟斤拷证锟斤拷娲拷诨峄帮拷械锟斤拷锟较⒅伙拷鼙锟斤拷锟斤拷锟斤拷峄帮拷锟斤拷没锟斤拷锟斤拷丝杉锟斤拷锟� 锟斤拷锟斤拷要锟斤拷取锟斤拷锟斤拷锟斤拷侄锟斤拷锟饺凤拷锟斤拷峄帮拷械幕锟斤拷锟斤拷锟较拷锟� 锟斤拷锟节诧拷取锟斤拷锟街凤拷式锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷息锟斤拷 取锟斤拷锟斤拷锟斤拷锟节会话锟叫存储锟斤拷锟斤拷锟捷★拷
锟斤拷锟斤拷锟结话锟叫存储锟斤拷锟斤拷锟捷碉拷锟斤拷要锟皆o拷 锟皆硷拷为锟斤拷锟斤拷锟接讹拷锟斤拷谋锟斤拷锟斤拷锟斤拷疲锟� 通锟斤拷锟斤拷要锟斤拷锟斤拷一锟斤拷锟侥达拷锟桔o拷同时锟结降锟酵憋拷锟斤拷锟皆★拷 锟斤拷锟界,锟斤拷锟斤拷锟斤拷锟揭拷锟斤拷锟斤拷没锟斤拷锟斤拷锟斤拷锟结工锟斤拷学锟斤拷锟斤拷锟斤拷 锟斤拷锟斤拷要锟斤拷锟斤拷 session.use_only_cookies 选锟筋。 锟斤拷锟揭拷锟斤拷没锟斤拷锟绞癸拷霉锟斤拷锟斤拷校锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟轿拷锟斤拷锟� cookie锟斤拷 锟斤拷锟斤拷锟斤拷薹锟斤拷锟斤拷锟绞癸拷没峄帮拷锟斤拷锟斤拷恕锟�
锟叫很讹拷锟街凤拷式锟斤拷锟斤拷锟皆碉拷锟铰会话 ID 锟斤拷泄露锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 锟斤拷锟界,JavaScript 注锟诫,URL 锟叫帮拷锟斤拷锟结话 ID锟斤拷锟斤拷锟捷帮拷锟斤拷锟斤拷锟斤拷 锟斤拷锟斤拷直锟接凤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷璞革拷取锟� 锟斤拷锟斤拷峄� ID 锟斤拷泄漏锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 锟斤拷么锟斤拷锟角就匡拷锟皆凤拷锟斤拷锟斤拷锟斤拷峄� ID 锟斤拷锟皆凤拷锟绞碉拷全锟斤拷锟斤拷源锟斤拷 锟斤拷锟饺o拷锟斤拷锟斤拷锟� URL 锟叫帮拷锟斤拷锟剿会话 ID锟斤拷 锟斤拷锟揭凤拷锟斤拷锟斤拷锟解部锟斤拷站锟姐, 锟斤拷么锟斤拷幕峄� ID 锟斤拷锟斤拷锟斤拷锟解部站锟斤拷姆锟斤拷锟斤拷锟街撅拷斜锟斤拷锟铰硷拷锟絩eferrer 锟斤拷锟斤拷头锟斤拷锟斤拷 锟斤拷锟解,锟斤拷锟斤拷锟斤拷也锟斤拷锟皆硷拷锟斤拷锟斤拷锟斤拷锟斤拷锟酵拷牛锟斤拷锟斤拷通锟斤拷未锟斤拷锟杰o拷 锟斤拷么锟结话 ID 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟侥碉拷锟斤拷式锟斤拷锟叫达拷锟戒。 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟侥斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷诜锟斤拷锟斤拷锟斤拷锟斤拷 SSL/TLS锟斤拷 锟斤拷锟解,使锟斤拷 HSTS 锟斤拷锟皆达到锟斤拷锟竭的帮拷全锟皆★拷
Note: 锟斤拷使使锟斤拷 HTTPS 协锟介,也锟睫凤拷锟斤拷远锟斤拷证锟斤拷锟斤拷锟斤拷锟捷诧拷锟斤拷泄漏锟斤拷 锟斤拷锟界,CRIME 锟斤拷 BEAST 漏锟斤拷锟斤拷锟斤拷使锟矫癸拷锟斤拷锟竭讹拷取锟斤拷锟斤拷锟斤拷锟斤拷荨锟� 锟斤拷锟解,锟斤拷锟斤拷锟斤拷锟斤拷通锟斤拷锟斤拷锟侥匡拷模锟斤拷芏锟斤拷锟斤拷锟斤拷卸锟斤拷锟斤拷锟� HTTPS MITM 锟斤拷锟斤拷 锟斤拷锟皆讹拷取 HTTPS 协锟斤拷锟铰碉拷通锟斤拷锟斤拷锟捷★拷 锟斤拷么锟斤拷锟斤拷锟斤拷也锟斤拷锟皆搭建锟斤拷锟狡的达拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟饺� HTTPS 协锟斤拷锟铰碉拷通锟斤拷锟斤拷锟捷★拷
目前锟斤拷默锟斤拷锟斤拷锟斤拷拢锟絇HP 锟斤拷锟斤拷锟斤拷锟斤拷应锟侥凤拷式锟斤拷锟斤拷锟斤拷峄帮拷模锟� 锟斤拷锟街凤拷式使锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷睿拷锟斤拷锟酵拷锟揭诧拷锟斤拷锟斤拷锟揭伙拷锟斤拷姆锟斤拷铡锟�
锟斤拷 PHP 5.5.2 锟斤拷始锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷锟筋: session.use_strict_mode锟斤拷 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷睿拷锟斤拷锟斤拷锟斤拷锟斤拷玫幕峄帮拷娲拷锟街э拷值幕锟斤拷锟轿达拷锟斤拷锟绞硷拷锟斤拷幕峄� ID 锟结被锟杰撅拷锟斤拷 锟斤拷为锟斤拷锟斤拷锟斤拷一锟斤拷全锟铰的会话锟斤拷锟斤拷锟斤拷员锟斤拷夤ワ拷锟斤拷锟绞癸拷锟揭伙拷锟斤拷锟街拷幕峄� ID 锟斤拷锟斤拷锟叫癸拷锟斤拷锟斤拷 锟斤拷锟界,锟斤拷锟斤拷锟竭匡拷锟斤拷通锟斤拷锟绞硷拷锟斤拷锟杰猴拷锟竭凤拷锟斤拷一锟斤拷锟斤拷锟斤拷锟结话 ID 锟斤拷锟斤拷锟接o拷 http://example.com/page.php?PHPSESSID=123456789锟斤拷 锟斤拷锟斤拷锟斤拷锟斤拷锟� session.use_trans_sid 锟斤拷锟斤拷锟筋, 锟斤拷么锟杰猴拷锟竭斤拷锟斤拷使锟矫癸拷锟斤拷锟斤拷锟斤拷锟结供锟侥会话 ID 锟斤拷始一锟斤拷锟铰的会话锟斤拷 锟斤拷锟斤拷锟斤拷锟斤拷锟� session.use_strict_mode 选锟筋,锟酵匡拷锟皆斤拷锟酵凤拷锟秸★拷
锟矫伙拷锟皆讹拷锟斤拷幕峄帮拷娲拷锟揭诧拷锟斤拷锟酵拷锟绞碉拷只峄� ID 锟斤拷证锟斤拷支锟斤拷锟较革拷峄澳J斤拷锟� 锟斤拷锟斤拷锟矫伙拷锟斤拷实锟斤拷锟皆硷拷锟侥会话锟芥储锟斤拷锟斤拷时锟斤拷 一锟斤拷要锟皆会话 ID 锟侥合凤拷锟皆斤拷锟斤拷锟斤拷证锟斤拷
锟斤拷锟斤拷锟斤拷锟揭伙拷啵拷锟斤拷锟轿拷锟斤拷锟斤拷锟斤拷锟结话 ID 锟斤拷 cookie 锟斤拷锟斤拷锟斤拷路锟斤拷锟斤拷 锟斤拷锟斤拷锟斤拷 HTTP 锟斤拷锟绞o拷锟斤拷锟斤拷使锟斤拷 HTTPS 锟斤拷锟绞等帮拷全锟斤拷锟皆o拷 锟斤拷锟斤拷锟竭匡拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫╋拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷每锟斤拷玫幕峄� ID锟斤拷 锟斤拷锟斤拷锟斤拷锟斤拷 session.use_only_cookies 锟斤拷锟斤拷锟斤拷 锟睫凤拷锟斤拷锟斤拷锟斤拷锟斤拷锟解。锟斤拷 session.use_strict_mode 锟斤拷锟斤拷锟斤拷 锟斤拷锟皆斤拷锟斤拷锟斤拷锟街凤拷锟秸★拷锟斤拷锟斤拷 session.use_strict_mode=On锟斤拷 锟斤拷锟杰撅拷未锟斤拷锟斤拷始锟斤拷锟侥会话 ID锟斤拷
Note: 锟斤拷然使锟斤拷 session.use_strict_mode 锟斤拷锟斤拷锟斤拷 锟斤拷锟皆斤拷锟斤拷锟斤拷锟结话锟斤拷锟斤拷式锟斤拷锟斤拷锟斤拷锟侥凤拷锟秸o拷 锟斤拷锟斤拷锟竭伙拷锟斤拷通锟斤拷锟斤拷锟斤拷 JavaScript 注锟斤拷锟斤拷侄危锟� 强锟斤拷锟矫伙拷使锟斤拷锟缴癸拷锟斤拷锟竭达拷锟斤拷锟侥诧拷锟揭撅拷锟斤拷锟斤拷锟斤拷锟斤拷锟侥筹拷始锟斤拷锟侥会话 ID锟斤拷 锟斤拷谓锟斤拷锟斤拷锟斤拷址锟斤拷颍锟斤拷圆慰锟斤拷锟斤拷植锟侥斤拷锟介部锟街★拷 锟斤拷锟斤拷锟斤拷丫锟斤拷锟斤拷锟斤拷锟� session.use_strict_mode 锟斤拷锟斤拷锟筋, 同时使锟矫伙拷锟斤拷时锟斤拷锟斤拷幕峄帮拷锟斤拷锟� 锟斤拷锟斤拷通锟斤拷锟斤拷锟斤拷 session_regenerate_id() 锟斤拷锟斤拷锟斤拷 锟斤拷锟斤拷锟斤拷锟斤拷锟缴会话 ID锟斤拷 锟斤拷么锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟缴的会话 ID 锟酵匡拷锟皆憋拷删锟斤拷锟斤拷锟剿★拷 锟斤拷锟斤拷锟斤拷锟皆癸拷锟节会话锟斤拷锟绞碉拷时锟斤拷 锟斤拷应锟矫憋拷锟斤拷锟皆撅拷峄帮拷锟斤拷锟斤拷锟斤拷锟斤拷荩锟� 锟皆憋拷锟斤拷锟斤拷锟斤拷锟斤拷使锟矫★拷 然锟斤拷锟斤拷锟矫伙拷锟剿筹拷锟斤拷前锟侥会话锟斤拷锟斤拷锟斤拷锟斤拷锟铰碉拷录锟斤拷 锟斤拷止锟斤拷锟斤拷锟竭硷拷锟斤拷使锟斤拷"偷"锟斤拷锟侥会话锟斤拷
锟皆癸拷锟节会话锟斤拷锟捷的凤拷锟绞诧拷锟斤拷锟斤拷锟斤拷锟斤拷味锟斤拷锟斤拷锟斤拷锟斤拷锟杰癸拷锟斤拷锟斤拷 锟斤拷锟饺讹拷锟斤拷锟斤拷锟斤拷状锟斤拷锟斤拷锟斤拷锟竭诧拷锟斤拷确锟侥会话删锟斤拷锟斤拷为锟斤拷 锟斤拷锟结导锟铰合凤拷锟斤拷锟矫伙拷锟斤拷锟斤拷锟皆癸拷锟节会话锟斤拷锟捷凤拷锟斤拷锟斤拷为锟斤拷
锟斤拷 PHP 7.1.0 锟斤拷始锟斤拷锟斤拷锟斤拷锟斤拷 session_create_id() 锟斤拷锟斤拷锟斤拷 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷诨峄� ID 锟斤拷锟斤拷锟斤拷锟矫伙拷 ID 锟斤拷为前缀锟斤拷 锟斤拷确锟斤拷锟矫伙拷锟斤拷锟绞碉拷锟斤拷确锟斤拷应锟侥会话锟斤拷锟捷★拷 要使锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟� 锟斤拷确锟斤拷锟斤拷锟斤拷锟斤拷 session.use_strict_mode 锟斤拷锟斤拷锟筋, 锟斤拷锟斤拷锟斤拷锟斤拷没锟斤拷锟斤拷芑锟轿憋拷锟斤拷锟斤拷锟斤拷没锟斤拷幕峄� ID锟斤拷
Note: 锟斤拷锟斤拷 PHP 7.1.0 之前锟斤拷锟矫伙拷锟斤拷应锟斤拷使锟斤拷 CSPRNG锟斤拷锟斤拷锟斤拷 /dev/urandom锟斤拷 锟斤拷锟斤拷 random_bytes() 锟斤拷锟斤拷锟皆硷拷锟斤拷希锟斤拷锟斤拷 锟斤拷锟斤拷锟斤拷锟铰的会话 ID锟斤拷 session_create_id() 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟阶诧拷锟斤拷锟斤拷锟斤拷锟斤拷锟� 锟斤拷锟揭革拷锟斤拷 INI 锟侥硷拷锟叫和会话锟斤拷氐锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷苫峄� ID锟斤拷 锟斤拷锟皆o拷锟斤拷锟斤拷使锟斤拷 session_create_id() 锟斤拷锟斤拷锟斤拷锟斤拷锟缴会话 ID锟斤拷
锟斤拷然 session.use_strict_mode 锟斤拷锟斤拷锟斤拷锟斤拷越锟斤拷头锟斤拷眨锟斤拷锟斤拷腔锟斤拷锟斤拷锟斤拷锟轿拷锟饺凤拷锟斤拷峄帮拷锟饺拷锟斤拷锟斤拷锟斤拷呋锟斤拷锟揭癸拷锟� session_regenerate_id() 锟斤拷锟斤拷锟斤拷
锟结话 ID 锟斤拷锟斤拷锟斤拷锟狡匡拷锟斤拷锟斤拷效锟侥斤拷锟酵会话锟斤拷锟斤拷取锟侥凤拷锟秸o拷 锟斤拷锟皆o拷锟斤拷锟斤拷锟斤拷锟斤拷锟皆的碉拷锟斤拷 session_regenerate_id() 锟斤拷锟斤拷 锟斤拷锟斤拷锟斤拷锟斤拷锟缴会话 ID锟斤拷 锟斤拷锟界,锟斤拷锟节伙拷锟斤拷锟斤拷锟捷o拷每锟斤拷 15 锟斤拷锟接撅拷锟斤拷锟斤拷锟斤拷锟缴会话 ID锟斤拷 锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷使锟结话 ID 锟斤拷锟斤拷取锟斤拷锟斤拷么锟斤拷锟斤拷锟斤拷锟斤拷锟矫碉拷锟侥会话 ID 也锟斤拷芸锟侥癸拷锟节o拷 锟斤拷锟斤拷锟斤拷墙锟揭伙拷锟斤拷锟斤拷剩锟斤拷突锟斤拷锟斤拷锟皆癸拷锟节会话锟斤拷锟捷凤拷锟绞的达拷锟斤拷
锟斤拷锟矫伙拷锟缴癸拷通锟斤拷锟斤拷证之锟襟,憋拷锟斤拷为锟斤拷锟斤拷锟斤拷锟斤拷锟缴会话 ID锟斤拷 锟斤拷锟揭o拷锟斤拷锟斤拷锟斤拷锟斤拷 $_SESSION 锟叫憋拷锟斤拷锟矫伙拷锟斤拷证锟斤拷息之前 锟斤拷锟斤拷 session_regenerate_id() 锟斤拷锟斤拷锟斤拷 锟斤拷 PHP 7.0.0 锟斤拷始锟斤拷session_regenerate_id() 锟斤拷锟斤拷 锟斤拷锟皆讹拷锟斤拷锟芥当前锟结话锟斤拷锟捷o拷锟皆憋拷锟节憋拷锟斤拷时锟斤拷锟斤拷锟斤拷锟较拷锟斤拷锟角帮拷峄帮拷锟斤拷锟� 锟斤拷确锟斤拷只锟斤拷锟铰的会话锟斤拷锟斤拷锟矫伙拷锟斤拷证锟斤拷息锟斤拷
锟斤拷锟斤拷锟竭诧拷要锟斤拷锟斤拷 session.gc_maxlifetime 锟斤拷锟斤拷锟筋。 锟斤拷为锟斤拷锟斤拷锟竭匡拷锟斤拷锟斤拷锟杰猴拷锟竭的会话锟斤拷锟斤拷之前锟斤拷锟斤拷锟斤拷锟绞o拷 锟斤拷锟斤拷维锟斤拷锟斤拷锟斤拷峄帮拷幕疃拷锟� 锟皆憋拷证锟斤拷锟斤拷峄帮拷锟斤拷锟斤拷锟节★拷
实锟斤拷锟较o拷锟斤拷锟斤拷要锟皆硷拷实锟街伙拷锟斤拷时锟斤拷锟斤拷锟� 锟结话锟斤拷锟捷癸拷锟斤拷锟斤拷啤锟�
锟斤拷然锟结话锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷透锟斤拷锟侥癸拷锟斤拷时锟斤拷锟斤拷锟� 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟轿达拷锟斤拷锟斤拷锟绞碉拷帧锟� 锟斤拷 GC 锟斤拷锟斤拷之前锟斤拷锟缴的会话锟斤拷锟捷伙拷锟矫憋拷锟芥, 同时锟斤拷锟斤拷锟斤拷锟竭伙拷锟矫憋拷证锟斤拷锟节的会话锟斤拷锟斤拷锟窖撅拷锟斤拷锟狡筹拷锟斤拷 锟斤拷锟角o拷锟斤拷锟斤拷锟斤拷锟街诧拷锟斤拷锟斤拷锟斤拷锟狡筹拷锟斤拷跃锟结话锟叫碉拷锟斤拷锟捷★拷 锟斤拷锟皆o拷锟斤拷要锟节伙拷跃锟结话锟较碉拷锟斤拷 session_regenerate_id(true); 锟斤拷 session_destroy() 锟斤拷锟斤拷锟斤拷 锟斤拷锟斤拷锟斤拷锟斤拷锟叫碉拷锟斤拷锟斤拷锟矫拷埽锟斤拷锟斤拷锟斤拷锟绞碉拷媳锟斤拷锟斤拷锟斤拷么锟斤拷锟斤拷
默锟斤拷锟斤拷锟斤拷拢锟�session_regenerate_id() 锟斤拷锟斤拷 锟斤拷锟斤拷删锟斤拷锟缴的会话锟斤拷 锟斤拷锟皆硷拷使锟斤拷锟斤拷锟剿会话 ID锟斤拷锟缴的会话锟斤拷锟杰伙拷锟角匡拷锟矫的★拷 锟斤拷锟斤拷锟斤拷锟斤拷要使锟斤拷时锟斤拷锟斤拷然锟斤拷疲锟� 锟斤拷确锟斤拷锟缴的会话锟斤拷锟捷诧拷锟斤拷锟劫次憋拷锟斤拷锟绞★拷
锟斤拷锟斤拷删锟斤拷锟斤拷跃锟结话锟斤拷锟杰伙拷锟斤拷锟斤拷锟皆わ拷诘锟揭恍┯帮拷臁� 锟斤拷锟界,锟斤拷锟斤拷锟斤拷状态锟斤拷锟饺讹拷锟斤拷锟斤拷锟斤拷锟叫诧拷锟斤拷锟斤拷锟襟到达拷 Web 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷拢锟� 锟斤拷锟斤拷删锟斤拷锟斤拷跃锟结话锟斤拷锟杰碉拷锟铰革拷锟斤拷锟斤拷锟斤拷峄笆э拷锟斤拷锟斤拷狻�
锟斤拷锟斤拷删锟斤拷锟斤拷跃锟结话也 锟睫凤拷锟斤拷锟斤拷锟杰达拷锟节的讹拷锟斤拷锟斤拷省锟�
锟斤拷为锟斤拷锟斤拷锟斤拷锟斤拷锟� 锟斤拷要锟斤拷 $_SESSION 锟斤拷锟斤拷锟斤拷一锟斤拷锟杰短的癸拷锟斤拷时锟戒, 然锟斤拷锟斤拷锟斤拷锟斤拷时锟斤拷锟斤拷锟斤拷卸虾锟斤拷锟斤拷姆锟斤拷锟斤拷潜锟斤拷锟斤拷锟侥伙拷锟角憋拷锟斤拷止锟侥★拷
锟节碉拷锟斤拷 session_regenerate_id() 锟斤拷锟斤拷之锟斤拷 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷止锟皆旧的会话锟斤拷锟捷的凤拷锟绞o拷应锟斤拷锟斤拷一小锟斤拷之锟斤拷之锟斤拷锟劫斤拷止锟斤拷锟绞★拷 锟斤拷锟界,锟斤拷锟饺讹拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟铰o拷锟斤拷锟斤拷锟斤拷锟斤拷为锟斤拷锟斤拷锟接o拷 锟节诧拷锟饺讹拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟铰o拷锟斤拷锟斤拷锟斤拷锟斤拷为锟斤拷锟斤拷锟接★拷
锟斤拷锟斤拷没锟斤拷锟斤拷锟斤拷司傻幕峄帮拷锟斤拷荩锟斤拷丫锟斤拷锟斤拷诘模锟斤拷锟� 锟斤拷么应锟矫斤拷止锟斤拷锟绞★拷 锟斤拷锟斤拷踊峄帮拷锟斤拷瞥锟斤拷锟斤拷锟矫伙拷锟斤拷锟斤拷证锟斤拷息锟斤拷锟斤拷为锟解看锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟杰癸拷锟斤拷锟斤拷
锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷瞬锟斤拷锟缴撅拷锟斤拷锟� cookie锟斤拷锟斤拷么使锟斤拷 session.use_only_cookies 锟斤拷 session_regenerate_id() 锟结导锟斤拷锟斤拷锟斤拷锟矫伙拷锟斤拷锟杰拒撅拷锟斤拷锟斤拷锟斤拷锟斤拷狻� 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟矫伙拷删锟斤拷 cookie 锟斤拷锟揭撅拷锟斤拷锟矫伙拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷一些锟斤拷全锟斤拷锟解。 锟斤拷锟斤拷锟竭匡拷锟斤拷通锟斤拷锟斤拷锟斤拷锟� Web 应锟矫★拷锟斤拷锟斤拷锟斤拷锟斤拷锟皆硷拷锟皆帮拷全锟皆较诧拷锟斤拷锟斤拷锟斤拷璞革拷锟斤拷泄锟斤拷锟� 锟斤拷伪锟斤拷锟斤拷锟斤拷 cookie锟斤拷
锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟侥拒撅拷锟斤拷锟今攻伙拷锟斤拷锟斤拷锟斤拷指锟侥猴拷锟藉。 通锟斤拷锟斤拷锟斤拷锟斤拷要锟斤拷锟斤拷锟结话 ID 锟侥帮拷全锟斤拷use_strict_mode=On 锟角憋拷锟斤拷要锟斤拷锟侥★拷 锟斤拷锟斤拷锟斤拷锟叫碉拷站锟姐都锟斤拷锟斤拷 use_strict_mode=On锟斤拷
只锟叫碉拷锟剿号达拷锟节憋拷锟斤拷锟斤拷锟斤拷时锟斤拷 锟脚会发锟斤拷锟杰撅拷锟斤拷锟斤拷锟斤拷锟斤拷狻� 通锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷应锟斤拷锟叫憋拷注锟斤拷锟剿讹拷锟斤拷锟� JavaScript 锟脚会导锟斤拷锟斤拷锟斤拷锟斤拷狻�
锟斤拷锟节的会话锟叫碉拷锟斤拷锟斤拷应锟斤拷锟角憋拷删锟斤拷锟侥o拷锟斤拷锟揭诧拷锟缴凤拷锟绞★拷 锟斤拷锟节的会话模锟斤拷锟斤拷未锟杰好碉拷支锟斤拷锟斤拷锟斤拷锟斤拷锟皆★拷
应锟矫撅拷锟斤拷锟杰匡拷锟缴撅拷锟斤拷锟斤拷诨峄帮拷械锟斤拷锟斤拷荨锟� 锟斤拷锟角o拷锟斤拷跃锟结话一锟斤拷锟斤拷要锟斤拷锟斤拷删锟斤拷锟斤拷 为锟斤拷锟杰癸拷同时锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷要锟斤拷 锟斤拷锟斤拷要锟皆硷拷锟斤拷实锟街伙拷锟斤拷时锟斤拷锟斤拷幕峄帮拷锟斤拷莨锟斤拷锟斤拷锟狡★拷
锟斤拷 $_SESSION 锟斤拷锟斤拷锟矫会话锟斤拷锟斤拷时锟斤拷锟斤拷锟斤拷锟斤拷叶锟斤拷锟斤拷锟叫癸拷锟斤拷 锟皆憋拷锟杰癸拷锟斤拷止锟斤拷锟节癸拷锟节会话锟侥凤拷锟绞★拷 锟斤拷锟斤拷锟斤拷锟斤拷锟节癸拷锟节会话锟侥凤拷锟斤拷时锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟矫伙拷锟斤拷锟斤拷锟叫会话锟斤拷删锟斤拷锟斤拷证锟斤拷息锟斤拷 锟斤拷锟斤拷要锟斤拷锟矫伙拷锟斤拷锟斤拷锟斤拷证锟斤拷 锟斤拷锟节癸拷锟节会话锟斤拷锟捷的凤拷锟绞匡拷锟斤拷锟斤拷一锟街癸拷锟斤拷锟斤拷为锟斤拷 为锟剿憋拷锟斤拷锟结话锟斤拷锟捷o拷锟斤拷锟斤拷要追锟斤拷每锟斤拷锟矫伙拷锟侥伙拷跃锟结话锟斤拷
Note: 锟斤拷锟矫伙拷锟斤拷锟节诧拷锟饺讹拷锟斤拷锟斤拷锟界,锟斤拷锟斤拷 web 应锟矫达拷锟节诧拷锟斤拷锟斤拷锟斤拷锟斤拷锟绞憋拷锟� 也锟斤拷锟杰凤拷锟斤拷锟斤拷锟节癸拷锟节会话锟斤拷锟捷的凤拷锟绞★拷 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷为锟矫伙拷锟斤拷锟斤拷锟铰的会话 ID锟斤拷 锟斤拷锟角很匡拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷原锟津,碉拷锟斤拷 Set-Cookie 锟斤拷锟斤拷锟捷帮拷锟睫凤拷锟斤拷锟斤拷锟矫伙拷锟斤拷锟斤拷锟斤拷锟斤拷锟� 锟斤拷通锟斤拷 session_regenerate_id() 锟斤拷锟斤拷 为一锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟铰的会话 ID 之锟斤拷锟斤拷锟斤拷锟侥诧拷锟斤拷锟斤拷锟接匡拷锟斤拷锟斤拷未锟矫碉拷锟斤拷锟斤拷碌幕峄� ID锟斤拷 锟斤拷耍锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟街癸拷锟斤拷诠锟斤拷诨峄帮拷锟斤拷莸姆锟斤拷剩锟斤拷锟斤拷锟揭拷映锟揭伙拷锟斤拷锟叫★拷锟绞憋拷锟轿o拷 锟斤拷锟斤拷锟轿裁达拷锟斤拷锟斤拷锟揭碉拷只锟斤拷锟绞憋拷锟斤拷锟侥会话锟斤拷锟斤拷
锟斤拷锟斤拷锟街拷锟斤拷锟揭拷诘锟斤拷锟� session_regenerate_id() 锟斤拷锟斤拷 session_destroy() 锟斤拷锟斤拷锟斤拷时锟斤拷锟斤拷锟斤拷删锟斤拷锟缴的会话锟斤拷锟捷o拷 锟斤拷锟斤拷要通锟斤拷一锟斤拷时锟斤拷锟斤拷锟斤拷锟斤拷坪锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟缴会话锟斤拷锟捷的凤拷锟绞★拷 锟接会话锟芥储锟斤拷删锟斤拷锟斤拷锟捷的癸拷锟斤拷锟斤拷锟斤拷 session_gc() 锟斤拷锟斤拷锟斤拷锟斤拷砂伞锟�
默锟斤拷锟斤拷锟斤拷拢锟轿拷吮锟街わ拷峄帮拷锟斤拷锟斤拷诙锟斤拷锟斤拷锟斤拷之锟斤拷锟揭伙拷锟斤拷裕锟� 锟斤拷锟节会话锟斤拷锟捷的凤拷锟斤拷锟角硷拷锟斤拷锟斤拷锟叫的★拷
锟斤拷锟角o拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷也锟结导锟铰憋拷锟斤拷锟斤拷锟斤拷锟斤拷锟矫o拷锟斤拷锟斤拷锟叫讹拷锟斤拷锟矫伙拷锟侥拒撅拷锟斤拷锟今攻伙拷锟斤拷 为锟剿斤拷锟斤拷锟斤拷锟街凤拷锟秸o拷锟斤拷锟节凤拷锟绞会话锟斤拷锟捷碉拷时锟津,撅拷锟斤拷锟杰碉拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷时锟戒。 锟斤拷某锟斤拷锟斤拷锟斤拷锟斤拷要锟斤拷锟铰会话锟斤拷锟捷碉拷时锟斤拷使锟斤拷只锟斤拷模式锟斤拷锟绞会话锟斤拷锟捷★拷 也锟斤拷锟斤拷说锟斤拷锟节碉拷锟斤拷 session_start() 锟斤拷锟斤拷锟斤拷时锟斤拷 使锟斤拷 'read_and_close' 选锟筋:session_start(['read_and_close'=>1]);锟斤拷 锟斤拷锟解,锟斤拷锟斤拷锟揭拷锟斤拷禄峄帮拷锟斤拷荩锟斤拷锟矫达拷诟锟斤拷锟斤拷锟斤拷之锟斤拷 锟斤拷锟较碉拷锟斤拷 session_commit() 锟斤拷锟斤拷锟斤拷锟酵放讹拷锟节会话锟斤拷锟捷碉拷锟斤拷锟斤拷
锟斤拷锟结话锟斤拷锟斤拷跃锟斤拷时锟津,碉拷前锟侥会话模锟介不锟斤拷锟斤拷锟斤拷锟� $_SESSION 锟斤拷锟睫改★拷 锟斤拷锟斤拷要锟皆硷拷锟斤拷锟斤拷证 锟节会话锟斤拷锟节诧拷锟斤拷跃状态锟斤拷时锟津,诧拷要去锟睫革拷锟斤拷锟斤拷
锟斤拷锟斤拷锟斤拷锟斤拷要锟皆硷拷锟斤拷追锟斤拷每锟斤拷锟矫伙拷锟侥伙拷跃锟结话锟斤拷 要知锟斤拷每锟斤拷锟矫伙拷锟斤拷锟斤拷锟剿讹拷锟劫伙拷跃锟结话锟斤拷每锟斤拷锟斤拷跃锟结话锟斤拷锟斤拷锟角革拷 IP 锟斤拷址锟斤拷 锟斤拷跃锟剿多长时锟斤拷取锟絇HP 锟斤拷锟斤拷锟皆讹拷锟斤拷锟斤拷锟斤拷罟わ拷锟斤拷锟斤拷锟揭拷锟斤拷锟斤拷锟斤拷锟斤拷锟缴★拷
锟叫很讹拷锟街凤拷式锟斤拷锟斤拷锟斤拷锟斤拷追锟斤拷锟矫伙拷锟侥伙拷跃锟结话锟斤拷 锟斤拷锟斤拷锟酵拷锟斤拷锟斤拷锟斤拷菘锟斤拷写娲拷峄帮拷锟较拷锟斤拷锟斤拷锟斤拷没锟斤拷峄帮拷锟� 锟斤拷锟节会话锟角匡拷锟皆憋拷锟斤拷锟斤拷锟秸硷拷锟斤拷锟秸硷拷锟斤拷锟侥o拷 锟斤拷锟斤拷锟斤拷也锟斤拷要锟斤拷锟斤拷锟秸硷拷锟斤拷锟侥会话锟斤拷锟捷o拷锟皆憋拷证锟斤拷锟捷匡拷锟叫碉拷锟斤拷锟捷猴拷锟斤拷实锟侥伙拷跃锟结话锟斤拷锟捷碉拷一锟斤拷锟皆★拷
一锟街很简单的凤拷式锟斤拷锟斤拷使锟斤拷"使锟斤拷锟矫伙拷 ID 锟斤拷为锟结话 ID 前缀"锟斤拷锟斤拷锟揭憋拷锟斤拷锟揭拷锟斤拷锟较拷锟� $_SESSION 锟叫★拷 锟襟部分碉拷锟斤拷锟捷匡拷锟狡凤拷锟斤拷锟斤拷址锟斤拷锟角白猴拷锟窖拷锟斤拷锟阶拷锟揭诧拷锟斤拷锟侥o拷锟斤拷锟窖拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷泻芎玫锟斤拷锟斤拷鼙锟斤拷帧锟� 为锟斤拷实锟斤拷锟斤拷锟街凤拷式锟斤拷锟斤拷锟斤拷使锟斤拷 session_regenerate_id() 锟斤拷 session_create_id() 锟斤拷锟斤拷锟斤拷
锟斤拷远锟斤拷要使锟矫伙拷锟斤拷锟斤拷锟斤拷锟斤拷为锟结话 ID 前缀锟斤拷 锟斤拷锟斤拷没锟� ID 锟斤拷锟节伙拷锟斤拷锟斤拷锟捷o拷锟斤拷么锟斤拷锟皆匡拷锟斤拷使锟斤拷 hash_hmac() 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟秸拷锟斤拷锟绞癸拷谩锟�
锟斤拷锟斤拷锟斤拷锟斤拷 session.use_strict_mode 锟斤拷锟斤拷锟筋。 锟斤拷确锟斤拷锟窖撅拷锟斤拷锟矫o拷 锟斤拷锟斤拷锟皆撅拷峄帮拷锟斤拷菘锟斤拷锟杰会被锟斤拷锟街★拷
要锟杰癸拷锟斤拷锟斤拷锟节癸拷锟节会话锟斤拷锟捷的凤拷锟绞o拷 锟斤拷锟斤拷时锟斤拷锟斤拷幕峄帮拷锟斤拷莨锟斤拷锟斤拷锟斤拷锟角必诧拷锟斤拷锟劫的★拷 锟斤拷锟斤拷獾斤拷锟斤拷诠锟斤拷诨峄帮拷锟斤拷莸姆锟斤拷锟绞憋拷锟斤拷锟接︼拷么锟斤拷锟斤拷锟矫伙拷锟侥伙拷跃锟结话锟斤拷删锟斤拷锟斤拷证锟斤拷息锟斤拷 锟斤拷锟解攻锟斤拷锟竭筹拷锟斤拷使锟矫碉拷取锟侥会话锟斤拷
锟斤拷锟斤拷锟竭诧拷应锟斤拷通锟斤拷使锟矫筹拷锟斤拷锟斤拷锟斤拷锟节的会话 ID 锟斤拷实锟斤拷锟皆讹拷锟斤拷录锟斤拷锟杰o拷 锟斤拷为锟斤拷锟街凤拷式锟斤拷锟斤拷嘶峄帮拷锟斤拷锟饺★拷姆锟斤拷铡锟� 锟斤拷锟斤拷锟斤拷应锟斤拷锟皆硷拷实锟斤拷锟皆讹拷锟斤拷录锟侥伙拷锟狡★拷
锟斤拷使锟斤拷 setcookie() 锟斤拷时锟津,达拷锟诫安全锟斤拷一锟斤拷锟斤拷摘要锟斤拷锟斤拷锟轿拷远锟斤拷锟铰硷拷锟较拷锟� 锟斤拷锟斤拷使锟矫憋拷 SHA-2 锟斤拷锟斤拷强锟饺碉拷摘要锟姐法锟斤拷锟斤拷锟斤拷 SHA-256锟斤拷 锟斤拷 random_bytes() 锟斤拷锟斤拷锟斤拷傻锟斤拷锟斤拷锟� 锟斤拷也锟斤拷锟皆讹拷取 /dev/urandom 锟斤拷穑┙锟斤拷锟秸拷锟轿拷远锟斤拷锟铰硷拷锟斤拷锟较拷锟�
锟斤拷锟矫伙拷锟斤拷锟绞碉拷时锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷没锟斤拷锟轿达拷锟街わ拷锟� 锟斤拷么锟斤拷去锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷欠锟斤拷锟斤拷锟斤拷锟斤拷效锟斤拷一锟斤拷锟皆碉拷录锟斤拷息锟斤拷 锟斤拷锟斤拷锟斤拷锟斤拷锟叫э拷锟揭伙拷锟斤拷缘锟铰硷拷锟较拷锟斤拷锟矫达拷锟饺ワ拷锟街わ拷没锟斤拷锟� 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟铰碉拷一锟斤拷锟皆碉拷录锟斤拷息锟斤拷 锟皆讹拷锟斤拷录锟侥关硷拷锟斤拷息一锟斤拷锟斤拷只锟斤拷使锟斤拷一锟轿o拷锟斤拷远锟斤拷要锟截革拷使锟斤拷一锟斤拷锟皆碉拷录锟斤拷息锟斤拷
锟皆讹拷锟斤拷录锟斤拷息锟角筹拷锟斤拷锟斤拷锟斤拷锟节碉拷锟斤拷证锟斤拷息锟斤拷 锟斤拷锟皆憋拷锟斤拷要锟斤拷锟斤拷锟杰碉拷锟斤拷锟狡憋拷锟斤拷锟斤拷 锟斤拷锟皆讹拷锟斤拷锟皆讹拷锟斤拷录锟斤拷息锟斤拷应锟斤拷 cookie 锟斤拷锟斤拷路锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 HTTP 锟斤拷锟绞★拷锟斤拷锟斤拷锟斤拷全锟斤拷锟斤拷 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟皆憋拷锟斤拷锟斤拷锟斤拷锟揭撅拷锟节憋拷要锟斤拷时锟斤拷糯锟斤拷锟斤拷锟斤拷 cookie锟斤拷
锟斤拷锟斤拷锟斤拷也要锟结供锟斤拷锟斤拷锟皆讹拷锟斤拷录锟侥伙拷锟狡o拷 锟皆硷拷删锟斤拷锟斤拷锟斤拷锟斤拷要锟斤拷锟皆讹拷锟斤拷录锟斤拷锟捷碉拷锟斤拷锟斤拷锟斤拷
锟结话锟斤拷锟斤拷证锟睫凤拷锟斤拷锟斤拷锟秸撅拷锟斤拷锟轿憋拷旃ワ拷锟斤拷锟� 锟斤拷锟斤拷锟斤拷锟斤拷要锟皆硷拷锟斤拷实锟街憋拷锟斤拷应锟矫诧拷锟斤拷 CSRF 锟斤拷锟斤拷锟侥癸拷锟杰★拷
output_add_rewrite_var() 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 锟斤拷锟斤拷应锟斤拷锟斤拷锟斤拷 CSRF 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷息锟斤拷慰锟斤拷牡锟斤拷锟�
Note: PHP prior to 7.2.0 uses the same output buffer and INI setting as trans sid锟斤拷 锟斤拷锟皆诧拷锟斤拷锟斤拷锟斤拷 PHP 7.2.0 之前使锟斤拷 output_add_rewrite_var() 锟斤拷锟斤拷锟斤拷
锟襟部凤拷 Web 应锟矫匡拷芏锟斤拷峁╋拷锟� CSRF 锟斤拷锟斤拷锟斤拷锟斤拷锟皆★拷 锟斤拷细锟斤拷息锟斤拷慰锟斤拷锟斤拷锟斤拷玫锟� Web 锟斤拷艿锟斤拷牡锟斤拷锟�