3

現在、サーバー側で Django と通信する iOS アプリケーションを作成しています。POST を実行しようとするとき、Django が提供する CSRF ミドルウェアに準拠する通信が必要です。トークンを適切に渡しましたが、完全に機能させるために、リクエストにヘッダー値を設定する必要もあります。

[request setValue:@"https://mysite.com/" forHTTPHeaderField:@"Referer"];

私の質問は、Referer 値をハード コーディングすることでセキュリティ上の問題が発生するかどうかです。Djangoがこれを厳密にチェックする理由を誰かが理解するのを手伝ってくれますか?

4

1 に答える 1

2

リファラーのチェックはCSRF防止の方法です。攻撃者が被害者のブラウザにJavaScript/HTML / Flashを使用してPOSTまたはGETリクエストを実行させる場合、リファラー値は空白になるか、攻撃者のCSRFエクスプロイトが発生したURLになります。いずれの場合も、攻撃者はリファラーをCSRFエクスプロイトに設定できないhttps://mysite.com/ため、このチェックは攻撃を軽減するのに役立ちます。

iOSアプリでHTTPリファラーを設定しても、セキュリティへの影響はまったくありません。

于 2013-03-14T03:34:59.657 に答える