状況:登録されていないユーザーがWebサイトを訪問し、アイテムのリクエストを発行します。現在のデータフローごとに、このリクエストは最初にdbに挿入され、リクエストIDは以降のページのURLに引き継がれます(ユーザーが詳細情報を追加する場合)。ユーザーがクエリ文字列パラメータを操作できないようにする
問題:ユーザーはIDを変更できます。私がこれまで行ってきた何
:をできるだけ早く要求はにおけるlastInsertIdを(使用して挿入された後、私はIDを取得すると)、私は、セッション変数内に格納し、$ _GETからのIDに対して後続のページでご確認ください。私もCRSF保護を実装しましたが、トークンが一致するとセッショントークンは設定されません。したがって、ユーザーが同じURLをリフレッシュしても、チェックは失敗します。
この問題を解決するにはどうすればいいですか?私には欠けている概念を指摘してください。また、多くの同時ユーザーがリクエストを発行する場合、サーバーは、どのユーザーがどのユーザーのIDであるかを判別します。異なるユーザーのセッションIDは異なります。正しいですか?この並行性のために問題や脆弱性はありますか?
セッションを追加するとよい方法です。それに加えて、あなたは手作業で設定に保存されている塩を使ってIDをハッシュすることができます。また、日と年の組み合わせのようなものを塩として使用することもできます。その場合、1日は一定のままです。 IDと一緒に塩を渡し、塩とセッションを再チェックし、一致すれば進んでください。 – AtulBhatS
ありがとう@AtulBhatS! mcrypt_create_iv()を使用すると、saltを処理することができますか?stackoverflowのURLで同じことを試みただけで、別の質問にリダイレクトされました。それは問題のデータの感度に依存すると推測します:) – Bonzo