0

私はこのケースを持っています:

form.php という名前のファイルがあり、POST メソッドを含む単純な HTML フォームと、そのフォームの「アクション」ファイルが常に別のファイルに含まれています。たとえば、action.php としましょう。このすべてのスクリプトは、次の名前のドメインの下に保存されています: realdomain.com (ほんの一例)。

今日、私は別のドメイン (例: fakedomain.com) から偽のフォームを作成し、次にこれを配置しました:action="http://realdomain.com/action.php"次に、送信ボタンを押して、realdomain.com の action.php は、それが realdomain.com からのものか、fakedomain.com からのものかを区別できません。そのまま通過させて...

次に、action.php に「フィルター」を配置して、参照されたドメインが$_SERVER['HTTP_REFERER'].

ただし、一部のフォーラムやブログ投稿では、HTTP_REFERER も偽造できるため、この方法はまったく信頼できません。

では、これを検証する方法は?つまり、action.php を同じサーバーから送信された変数のみを処理する方法は?

ありがとう

4

1 に答える 1

1

CSRF 保護をフォームに実装できます。これは良いチュートリアルです: http://phpmaster.com/preventing-cross-site-request-forgeries/

簡潔な回答で申し訳ありませんが、私はiPhoneで書いています。

于 2012-12-22T08:30:16.440 に答える