如何阻止除来自某个特定 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]

这将允许来自12.34.56.78无需经过代理检查(代理检查应在之后进行)即可通过。

相关内容