ホームページ  >  記事  >  バックエンド開発  >  PHPのセッションメカニズムに関連する問題

PHPのセッションメカニズムに関連する問題

WBOY
WBOYオリジナル
2016-06-23 13:33:23920ブラウズ

考えるべき質問はありますか?

1. クライアントが Cookie を無効にしても、引き続き SESSION にアクセスできますか?

PHP のセッションは、デフォルトでクライアントの Cookie を使用してセッション ID を保存するため、クライアントの Cookie に問題があるとセッションに影響します。ただし、Session は Cookie に完全に依存しているわけではなく、URL Get を通じてセッション ID を渡すこともできます。これには、php.ini で session.use_trans_sid = 1 を設定する必要があります。これは、URL を介してセッション ID をクリア テキストで送信できることを意味します

php.ini のセッション設定
session.use_only_cookies = 1; on のみ Cookie を使用してセッション ID を保存します。 session.use_trans_sid = 1; // URL を介してセッション ID をクリア テキストで送信できるようにします

この場合、SessionID は URL を介してクリア テキストで送信することが許可されていますが、また、セッションの SessionID を保存するために Cookie のみを使用できるようになったため、送信された PHPSESSIONID パラメータの値は無効であり、SESSION は使用できません。

php.ini の SESSION の設定
session.use_trans_sid = 0; // SessionID の平文での URL 送信を禁止


2. 7 日間ログイン不要の実装方法

(1) Cookie 方式


setcookie( 'uname', 暗号化情報, time()+3600*7); // ログインフリーを実現する Cookie メソッド



(2)session

setcookie; (session_name(),session_id (),time()+3600,"/");

session('uname', 暗号化された情報) //Cookie を設定する

$_COOKIE['uname'];

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。