php のセッション メカニズムに関連する問題
問題について考えていますか?
1. クライアントは Cookie を無効にしても、引き続き SESSION にアクセスできますか?
PHP のセッションは、デフォルトでクライアントの Cookie を使用してセッション ID を保存するため、クライアントの Cookie に問題があると、セッションに影響します。ただし、Session は Cookie に完全に依存しているわけではなく、URL Get を通じてセッション ID を渡すこともできます。これには、php.ini で session.use_trans_sid = 1 を設定する必要があります。これは、SessionID が URL
セッション構成を通じてクリアテキストで送信できることを意味しますin php.ini
session.use_only_cookies = 1; // セッション ID の保存に Cookie のみを使用できるようにします
session.use_trans_sid = 1; // URL を介してセッション ID をクリアテキストで送信できるようにします
この場合はすでに許可されていますが、SessionID は URL を通じてプレーン テキストで送信されますが、同時に Cookie を使用してセッション SessionID を保存することのみが有効になっているため、PHPSESSIONID パラメータ値は、 URL が無効であるため、SESSION は使用できません。
php.ini のセッション設定
session.use_trans_sid = 0; // URL を介した SessionID のクリアテキスト送信を禁止します
2 にはログインは必要ありません。 7日間 実装方法
(1) Cookieメソッド
setcookie('uname', 暗号化情報, time()+3600*7);//ログインを実現するCookieメソッド- free
$_COOKIE['uname'];
(2)session
setcookie(session_name(),session_id(),time()+3600,"/ ");
session('uname', 暗号化された情報); //復号化するために Cookie
を設定 $_COOKIE['uname'];