クリックすると、サーバー上で何らかの処理コードを起動する URL を Web ページに配置する必要がある場合があります。ランダムな悪者が独自の URL を作成したり、すべきでないことを行ったりするのを防ぎたいのは明らかです。そのため、他のサイトで見たものからリバース エンジニアリングされたこのスキームを使用しています。
- 一意の文字列を作成します (私は MD5 を使用していますが、間違いなく他のオプションがあります)
- この文字列を適切な名前のセッション変数に入れます
- URLに文字列を含めます。おそらく次のようなものです
/do_this/123/FABDYFYEYYDFBDHDFS
- 処理コードが実行されたら、URL から文字列を抽出し、それをセッション変数の値と比較します。一致する場合は、安全に続行できます。そうでない場合は、別のことを行います。
これは、ユーザーのブラウザーのセッション ストレージが関連性のないセッション変数で散らばっている部分を除いて、私にとっては問題なく機能しています。やっていることを終えたら、セッション変数を削除できる (そして実際に削除できる) 場合もありますが、常にそうとは限りません。おそらく、古い変数をクリアする機会を見つけることについてもう少し賢くなることができますが、問題は十分に一般的であるため、これを行うためのより良い方法がある可能性があります (つまり、私が思いついたものは、任意の数に対して本当にばかげている可能性があります)思いつかなかった理由)。この種のことを行うための良い/より良い方法についてのアドバイスはありますか?