1

テクノロジーの範囲: PHP、MySQL、Apache、javascript、ajax。

CRSF

ユーザーは自分の安全なページにログインしています。

ページはランダムなトークンとランダムな名前を使用します。(入力用)

   <input name="random_name" value="random_token" />

Random_name と Random_token はユーザー SESSION に格納されます。

スクリプトはヘッダーをチェックします (HTTP 1.1 - リファラー)。

私の意見では、これらの方法は、Ajax (ページ出力) 分析に対して私を保護することはできません。


Ajax (ページ出力) 分析:

ユーザーが不正なページにアクセスしました。

ページが読み込まれた後、Ajax は (準備された HTTP リファラー ヘッダーを使用して) 彼のページに接続しました。そしてデータをダウンロード。

出力 (入力) を解析します。

そして、解析が成功した後。

Random_name、Random_token、準備されたリファラー ヘッダーを使用して独自のリクエストを作成します。


セキュリティ システムがこのアクションを受け入れました。(リファラー - OK、トークン - OK)

どうすれば回避できますか?

4

1 に答える 1

0

XMLHttpRequest が設計されたとき、このシナリオはすでに考慮されていました。その結果、XMLHttpRequest レベル 1 (歴史的) はクロスオリジン要求をまったく許可しませんでした。また、XMLHttpRequest レベル 2 (現在) では、サーバーがCross-Origin Request Sharingに従って許可している場合にのみ、クライアントはクロスオリジン リクエストへの応答を読み取ることができます。

そのため、リクエストが同じオリジンから発信されているか、オリジンを許可しない限り、クライアントはレスポンスを読み取ることができません。

于 2012-09-05T17:15:26.007 に答える