href と php にアドレスを直接入力することの違い
両者の違いを知っている人はいますか? 多くの値を渡す場合、この 2 つの違いはかなり大きいようです。
たとえば、セッションを渡す場合、
クライアントが Cookie を閉じず、session['ss']='ss' が 192.168.0.1/index.php で定義されている場合、それは関係ありません。 href メソッドを使用します。 192.168.0.1/info.php を開くか、アドレスバーに 192.168.0.1/info.php を直接入力します。 info.php で session['ss']='ss'.
を取得できます。ただし、クライアントでは cookie が閉じられていますが、php.ini で session.use_trans_sid が 1 に設定されている場合に問題が発生します。
A href を通じて 192.168.0.1/info.php を開くと、セッションを取得できます。しかし、アドレスバーに 192.168.0.1/ を直接入力しても、info.php はセッションを取得できません。何が起こっているか知っている人はいますか?
-----解決策---------
デフォルトでは、session_start() はリクエストの http Cookie ヘッダーにセッション ID があるかどうかをチェックします。クライアントが Cookie をブロックしている場合、Cookie ヘッダーを使用してセッション ID を渡すことはできず、SID があるかどうかをチェックします。 URL 内のパラメータ (php.ini 内) session.use_trans_sid を 1 に設定すると、セッション ID が URL に直接渡され、sid パラメータ値 (セッション ID) に従って対応するセッション データがロードされます。