「すべてのCookieを無効にする」設定のベストプラクティスとユーザー /カートに記録されている
-
05-10-2019 - |
質問
セッションを使用できない場合、ユーザーのログインを維持したり、カートを更新したりするにはどのように処理しますか? UserIDまたはCartIDを非表示の入力フィールドに追加する
解決
あらゆるフォームにセッションのようなIDを追加する(および閲覧よりも状態を維持できるようにしたい場合は、フォーム外のすべてのプレーンリンク)を追加することは、Cookieを使用できないときに伝統的に行われた方法です。
パラメーターセッションを実装するのはとても苦痛です(醜い /page.php?session=459gj0tv789yn
-Styleリンク)、キャッシュを破り、ユーザーが誤ってセッションを共有した場合にリンクをコピーアンドペーストできません。これらの理由から、ほとんどのサイトはこれをもう気にせず、単にCookieを必要とします。
できるもう1つのことは、HTTP Basic Authenticationを使用してユーザーがアカウントに署名できるようにし、アカウントにすべてのセッション情報を保存できるようにすることです。これは、ユーザーがカートに何かを入れる前にサインインするように要求する必要があるため、ショッピングカートにとって少し便利ではありませんが、一般的な場合はCookieの良い代替品です。
他のヒント
まあ、セッションIDをCookieまたはクエリ文字列パラメーターに保存する必要があります。
パラメーターを使用することはセキュリティの欠陥です。誰かが彼らのURLを共有しなければならないことは、彼らのウェブサイトのアイデンティティを与えました。
Railsのような一部のフレームワークは、Cookieが利用できない場合はセッションを使用させないでください。個人的には、セキュリティに真剣に取り組む場合は受け入れられる姿勢だと思います。