セッションを使用できない場合、ユーザーのログイン状態を維持したり、カートを更新したりするにはどうすればよいですか? 非表示の入力フィールドに userId または cartId を追加すると、セキュリティ上の欠陥のように感じられます
2 に答える
セッション ID を Cookie またはクエリ文字列パラメーターに保存する必要があります。
パラメータの使用はセキュリティ上の欠陥であることは間違いありません。誰かがしなければならないことは、自分の URL を共有することだけで、自分の Web サイトの ID を公開してしまいます。
Rails などの一部のフレームワークでは、Cookie が使用できない場合はセッションを使用できません。個人的には、セキュリティを真剣に考えている場合、これは受け入れられるスタンスだと思います。
すべてのフォームにセッションのような ID を追加する (ブラウジング中に状態を維持できるようにする場合は、フォーム外のすべてのプレーン リンクも) は、Cookie を使用できない場合に伝統的に行われていた方法です。
パラメーター セッション (醜い/page.php?session=459gj0tv789yn
スタイルのリンクを使用) を実装するのは非常に面倒です。これにより、キャッシュが壊れ、ユーザーが誤ってセッションを共有した場合にリンクをコピー アンド ペーストできなくなります。これらの理由から、ほとんどのサイトはもはやこれを気にせず、単に Cookie を必要としています。
他にできることは、HTTP 基本認証を使用して、ユーザーがアカウントにサインインし、すべてのセッション情報をアカウントに保存できるようにすることです。これは、ユーザーが何かをカートに入れる前にサインインする必要があるため、ショッピング カートには少し不便ですが、一般的には、Cookie の優れた代替手段です。