Apache-2.4

是否可以使用 Apache 2.4 檢測 mod_rewrite 規則的 ajax 請求?

  • January 6, 2022

是否可以?

試圖將我的腳本安全性轉移到伺服器級別。

使用 PHP,只需檢查是否$_SERVER['HTTP_X_REQUESTED_WITH']設置為XMLHttpRequest(添加了 jQuery)。

我想也許一個更好的問題是,如何將X-Requested-With請求標頭添加到可以使用 mod_rewrite 檢查的變數中RewriteCond

如果您將X-Requested-WithHTTP 請求標頭設置為“AJAX 請求”的一部分(如您$_SERVER['HTTP_X_REQUESTED_WITH']在 PHP 中看到的那樣),那麼您可以使用 mod_rewrite 直接檢查此標頭。

例如,要為/scripts/沒有將X-Forwarded-WithHTTP 標頭設置為的目錄的任何請求提供 403 Forbidden XMLHttpRequest

RewriteEngine On

RewriteCond %{HTTP:X-Requested-With} !=XMLHttpRequest
RewriteRule ^/?scripts/ - [F]

引用自:https://serverfault.com/questions/1089231