8

ユーザーがメールアドレスと名前を追加してニュースレターにサインアップするために使用するフォームがあります。

送信時に ajax リクエストがデータをデータベースに送信します。

他の誰かがデータベースにエントリを追加するのを防ぐために、何らかの保護を使用する必要がありますか? 別のサイトが自分のフォームを私の ajax リクエスト URL にリンクした場合、それらは私のデータベースにデータを追加することになります。

どうすればこれを止めることができますか?

4

1 に答える 1

3

あなたが本当に真剣に考えているなら:

  • ページごとに乱数を生成し、非表示フィールドとしてフォームに追加します ( および$_SESSION) 。
  • 送信時に、番号が一致していることを確認してください

さらに良いことに、ランダムな文字列を作成し、そのハッシュのみを送信します。フォームから取得したハッシュと元の文字列から生成されたハッシュを一致させると、有効なリクエストが作成されます。

ただし、これによりキャッシングが停止するため、ボリュームによっては、「これを行うだけ」のソリューションとして実際にはお勧めできません。

于 2013-09-09T13:46:06.037 に答える