如何阻止除某個特定 IP 之外的所有傳入代理存取?

如何阻止除某個特定 IP 之外的所有傳入代理存取?

我有一個容易受到攻擊的頁面,因此,為了減少匿名攻擊,我在我的頁面中使用了這段程式碼.htaccess我在網路上找到的:

# BLOCK PROXY VISITS
<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteCond %{HTTP:VIA}                 !^$ [OR]
 RewriteCond %{HTTP:FORWARDED}           !^$ [OR]
 RewriteCond %{HTTP:USERAGENT_VIA}       !^$ [OR]
 RewriteCond %{HTTP:X_FORWARDED_FOR}     !^$ [OR]
 RewriteCond %{HTTP:PROXY_CONNECTION}    !^$ [OR]
 RewriteCond %{HTTP:XPROXY_CONNECTION}   !^$ [OR]
 RewriteCond %{HTTP:HTTP_PC_REMOTE_ADDR} !^$ [OR]
 RewriteCond %{HTTP:HTTP_CLIENT_IP}      !^$
 RewriteRule .* - [F]
</IfModule>

我的問題是,一位廣告商在其公司內部使用代理,因此無法訪問我的頁面。我對正規表示式一無所知,儘管我思考我一看到它就能認出它,就像“哦,看看正規表示式「。我認為上述條件是正規表達式,但我不具備以某種方式改變它們的知識,即僅有的不禁止來自該特定靜態IP的代理存取。

如果可能的話,我該如何實現這一目標?先感謝您!

答案1

在下面的行中RewriteEngine on,新增以下規則:

RewriteCond %{REMOTE_ADDR} ^12\.34\.56\.78$ 
RewriteRUle ^ - [L]

這將允許遠端 IP 連接12.34.56.78無需經過代理檢查(應在之後進行)即可通過。

相關內容