1 SessionID를 통해 웹 사이트의 사용자 정보를 유지합니다.
<code><span><span><?php</span> session_start(); <span>$_SESSION</span>[<span>'visits'</span>]++; <span>print</span><span>'You have visited here '</span>.<span>$_SESSION</span>[<span>'visits'</span>].<span>' times.<br>'</span>; <span>echo</span><span>'session id = '</span>.<span>$_COOKIE</span>[<span>'PHPSESSID'</span>]; <span>echo</span><span>"<br>"</span>; <span>echo</span><span>"session name = "</span>.session_name().<span>"<br>"</span>; <span>?></span></span></code>
SessionID는 전역 변수 _COOKIE에 기록됩니다. SessionID의 이름은 PHPSESSID이며, PHPSESSID는 session_name()을 통해서도 얻을 수 있습니다. .
2 세션 하이재킹 방지
<code><span><span><span><?php</span> ini_set(<span>'sessio.use_only_cookies'</span>, <span>true</span>); session_start(); <span>$salt</span> = <span>'YourSpecialValueHere'</span>; <span>$tokenstr</span> = date(<span>'W'</span>).<span>$salt</span>; <span>$token</span> = md5(<span>$tokenstr</span>); <span>echo</span><span>'token = '</span>.<span>$token</span>.<span>'<br>'</span>; <span>if</span>(!<span>isset</span>(<span>$_REQUEST</span>[<span>'token'</span>]) || <span>$_REQUEST</span>[<span>'token'</span>] != <span>$token</span>) { <span>exit</span>; } <span>$_SESSION</span>[<span>'token'</span>] = <span>$token</span>; output_add_rewrite_var(<span>'token'</span>, <span>$token</span>); <span>echo</span><span>'<a href="test.php">link</a>'</span>; ob_flush(); output_reset_rewrite_vars(); <span>?></span></span></span></code>
<code><span><span><span><?php</span> session_start(); output_add_rewrite_var(<span>'var'</span>, <span>'value'</span>); <span>echo</span><span>'<a href="file.php">link</a>'</span>; ob_flush(); output_reset_rewrite_vars(); <span>echo</span><span>'<a href="file.php">link</a>'</span>; <span>?></span></span>以上例程会输出: <span><<span>a</span><span>href</span>=<span>"file.php?PHPSESSID=xxx&var=value"</span>></span>link<span></<span>a</span>></span><span><<span>a</span><span>href</span>=<span>"file.php"</span>></span>link<span></<span>a</span>></span></span></code>
3 세션 사용자 정의 방지
<code><span><span><?php</span> ini_set(<span>'session.use_only_cookie'</span>, <span>true</span>); session_start(); <span>if</span>(!<span>isset</span>(<span>$_SESSION</span>[<span>'generated'</span>]) || <span>$_SESSION</span>[<span>'generated'</span>] < (time() - <span>30</span>)) { session_regenerate_id(); <span>$_SESSION</span>[<span>'generated'</span>] = time(); } <span>echo</span><span>$_COOKIE</span>[<span>'PHPSESSID'</span>]</span></code>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });
위에서는 11가지 세션 및 데이터 보존에 대한 내용을 소개했으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.