セキュリティ上の理由から、ユーザーが ajax の目的で使用する php ページを表示したり、何かを送信したりできないようにしたいと考えています。
ページが ajax リクエストによって呼び出されたのか、それともページが開かれたのかを確認する方法はありますか? self=top は ajax リクエストを考慮していますか?
セキュリティ上の理由から、ユーザーが ajax の目的で使用する php ページを表示したり、何かを送信したりできないようにしたいと考えています。
ページが ajax リクエストによって呼び出されたのか、それともページが開かれたのかを確認する方法はありますか? self=top は ajax リクエストを考慮していますか?
/* AJAX check */
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
/* special for ajax here */
}
else
{
//its a page request
}
これは、このヘッダーを送信する JS フレームワークを使用している場合にのみ機能します:-by Bergi
いいえ、別のセキュリティ モデルが必要になります。
もちろん、X-Requested-With
Ajax リクエスト (多くのライブラリでは自動的に行われます) を実行しているときにカスタム http ヘッダー ( など) を設定して、通常の「表示」リクエストと区別することもできます。しかし、すべてが偽造できるため、それを特定することによるセキュリティはありません。
ajax リクエストを使用しない人を止めたとしても、そもそも ajax リクエストを変更するのを止めているのは何ですか?
これは、私の意見では、セキュリティの追加はほとんどまたはまったく追加されません。たとえば、firebug を使用すると簡単に実行できます。