ホームページ  >  記事  >  バックエンド開発  >  PHP で AJAX 経由でアクセスされるファイルへの直接アクセスを防ぐにはどうすればよいですか?

PHP で AJAX 経由でアクセスされるファイルへの直接アクセスを防ぐにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-12 00:36:03796ブラウズ

How to Prevent Direct Access to Files Accessed via AJAX in PHP?

AJAX 経由でアクセスされるファイルへの直接アクセスの防止

「func.php」などの AJAX リクエストを通じて PHP ファイルにアクセスする場合、そのファイルに直接アクセスすると、セキュリティ上の懸念が生じる可能性があります。この問題に対処するには、AJAX リクエストと直接アクセス試行を区別するメカニズムを実装することが重要です。

効果的な解決策の 1 つは、「HTTP_X_REQUESTED_WITH」サーバー変数を活用することです。ほとんどの AJAX フレームワークは、このヘッダーを「XMLHttpRequest」に設定し、本物の AJAX リクエストと直接ブラウザー アクセスを区別する方法を提供します。このヘッダー チェックは、次のように PHP ファイルに実装できます:

if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')) {
    // Allow access...
} else {
    // Ignore or deny access...
}

このチェックを実装すると、正当な AJAX リクエストのみが指定されたファイルにアクセスできるようになり、不正な直接アクセスからファイルを保護できます。

さらに、セキュリティを強化するために、次の JavaScript コードを使用して、AJAX リクエストに「X-Requested-With」ヘッダーを手動で設定できます。

var xhrobj = new XMLHttpRequest();
xhrobj.setRequestHeader("X-Requested-With", "XMLHttpRequest");

この手順により、直接攻撃に対する保護がさらに強化されます。ファイルアクセス。

以上がPHP で AJAX 経由でアクセスされるファイルへの直接アクセスを防ぐにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。