今日はURLを介したセッションの知識を学んだので試してみたいと思い、以下の内容で2ページ書きました。
【index.php】リーリー
【2.php】リーリー
図に示すように、index.php を開きます:
私の質問は、論理的に言えば、2 つのページのセッション ID は同じであるはずですが、なぜ異なるのでしょうか?私は初心者なので、マスターに質問に答えるのを手伝ってもらいたいと思っています。 。 。
返信内容:
【index.php】
リーリー【2.php】
リーリー図に示すように、index.php を開きます:
リンクをクリックすると、図に示すようにページがリダイレクトされます:
私の質問は、論理的に言えば、2 つのページのセッション ID は同じであるはずですが、なぜ異なるのでしょうか?私は初心者なので、マスターに質問に答えるのを手伝ってもらいたいと思っています。 。 。
URL にセッションを含める必要があるのはなぜですか?
1.これは安全ではありません
。私が LAN 内のパケットを取得して session_id を持ってきた場合、私が管理者になります 2。 、HttpOnly Cookie である限り、XSS 攻撃の心配はありません
、 サーバーに Apache2.2 を使用しないでください。HttpOnly Cookie が漏洩する可能性のある 400 の不正なリクエストの脆弱性があります。ブラウザがCookieを無効にしている場合、ログインは許可されません。JavaScriptを使用してログインできます。
SID はセッション名とセッション ID を含む定数です。形式は
です。これは session_id() によって返される ID と同じですが、クライアント
を持たない場合にのみ値を持ちます。 SID 値は
空の文字列"name=ID"
です。
クライアント Cookie を無効にせずに、index.php から 1.php にジャンプした場合、出力 SID は空の文字列になるはずです。
にジャンプするたびに異なるSIDが出力されます。
PHP 4.3.0 以降、設定が追加されました。これは、クライアント側でセッション ID を保存するために Cookie のみを使用するかどうかを指定します。 。この設定を有効にすると、URL を介して渡されるセッション ID を伴う攻撃が防止されます。
PHP 5.3.0 以降、デフォルト値は 1 (有効) に変更されました転送セッションID事前定義された定数
第一に、SID 変数には値が割り当てられていません。最後に、通常の変数はページ間で渡せると誰が言ったのでしょう。セッションまたはアプリケーションのスーパーグローバル変数でない限り。