AJAX 経由でアクセスされるファイルへの直接アクセスを防ぐ方法
AJAX リクエストを構築するときは、データのセキュリティを確保することが重要です転送中です。リクエスト メソッドが GET の場合、リクエスト ヘッダーを調べることでデータを簡単に確認できます。前述の重複した質問で提供されている解決策では問題が解決されないようですが、ターゲット ファイルへの直接アクセスを効果的に防止できる代替アプローチがあります。
解決策:
ファイルへの直接アクセスを拒否しながら、AJAX リクエストへのアクセスを選択的に許可するには、HTTP_X_REQUESTED_WITH サーバー変数を利用できます。この変数は、ほとんどの AJAX フレームワークおよびライブラリによって XMLHttpRequest に設定されます。この変数を使用すると、PHP ファイル (func.php など) 内に次のチェックを実装できます:
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')) { // Allow access since this is an AJAX request } else { // Deny access since this is a direct request }
ヘッダーの統合:
AJAX リクエストに X-Requested-With ヘッダーが含まれている場合は、JavaScript コードに次の行を追加してから、 request:
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
Effectiveness:
このソリューションを実装すると、認可されたソースからの AJAX リクエストを許可しながら、ターゲット ファイルへの直接アクセスを効果的に制限できます。これは、データの悪用やセキュリティ侵害の可能性を防ぐのに役立ちます。
以上がAJAX 経由でアクセスされるファイルへの直接アクセスを防ぐにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。