2011-07-16 13 views
2

誰もがクロスサイトフォームの送信を保護する方法を知っていますか?たとえば、私が登録ページを持っていて、ユーザーが自分の電子メールとパスワードを入力しなければならない場合、私は他のサイトから電子メールとパスワードの値をmywebサイトに送信したくない。あなたは、人々がそれを防止する一つの方法は、リファラーのHTTPヘッダーをチェックすることです、あなたのサーバーに別のウェブサイト上でホスティング形式のデータを提出することができるようにしたくないわけ場合クロスサイトフォームを保護する方法サブミット

答えて

0

ストア秘密ランダムに生成されたキー内のユーザーのセッションを使用する必要があります充填自動化されたフォームを防ぐためである場合。ユーザーが、その値でフォームの隠し入力をフォームに入れてページを開くとき。フォームが送信された後、受信データの検証中に両方が一致するかどうかを確認します。 Webセキュリティの世界では

+0

文字列がランダムに生成された場合、それをチェックする? – adlawson

+0

はい、ありがとうph6py、私はそれを行います:) – Dev

+0

あなたはセッション内でそれを保存します。 – user841092

0

は、しかし、これはすべての仕事に行くのではありませんそれはブラウザによって送信されたデータに依存しており、簡単に偽装されているからです。

また、送信するHTTPリファラーをオフにする人に面倒を引き起こしてしまうでしょう。

これを動作させるもう1つの方法は、自分のIPアドレスに基づいて(ユーザがページを要求したときに)生成する値を持つ<input type="hidden" value="dsahdbashdbhas[keyboard mash]" />を送信することです。その後、フォームを処理するときにこの値をチェックすることができ、正しくない場合はリクエストを破棄できます。

これは、あなたがCAPTCHA

+0

おかげDotmisterでCross-Site Request Forgery Prevention Cheat-Sheet - そして他のpages--を必ずお読みください必要があり、「キーボードマッシュ」とは何ですか? – Dev

+0

ああ申し訳ありませんが、私はそれらの文字を取得するためにキーボードを押しました。私は 'md5($ _ SERVER [" HTTP_REFERRER "]);'の行に沿って何かアドバイスをしますが、あなたのウェブサイトがこの種のものを対象にしている場合は簡単に複製されます –

0

、これはクロスサイトリクエストフォージェリ(CSRF)として知られている脆弱性です。あなたはOWASP

関連する問題