我遇到很多問題,否認IP,我想阻止訪問我的網站。經過大量的谷歌搜索和幾個特里我來到這個幾乎工作。我的意思幾乎是因爲當我把代碼放在我的網站上時,所有的ccs都丟失了。 下面是代碼:通過.htaccess拒絕IP不起作用
order allow,deny
deny from xxx.xxx.x.xxx
我嘗試了很多的這個代碼的版本 - 與所有允許,轉換代碼的第一部分訂購否認,允許 - 和非真正起作用。只有我之前發佈的那個。我怎樣才能解決這個問題?
我遇到很多問題,否認IP,我想阻止訪問我的網站。經過大量的谷歌搜索和幾個特里我來到這個幾乎工作。我的意思幾乎是因爲當我把代碼放在我的網站上時,所有的ccs都丟失了。 下面是代碼:通過.htaccess拒絕IP不起作用
order allow,deny
deny from xxx.xxx.x.xxx
我嘗試了很多的這個代碼的版本 - 與所有允許,轉換代碼的第一部分訂購否認,允許 - 和非真正起作用。只有我之前發佈的那個。我怎樣才能解決這個問題?
您可以使用SetEnv和訂單指令來拒絕IP地址。
SetEnvIf remote_addr ^xxx.xxx.x.xxx$ block=1
Order allow,deny
allow from all
deny from env=block
您的代碼基本上是說一切否認:
1:在第一輪(上允許)不匹配任何東西。
2:第二次通過(拒絕)給出一個匹配(拒絕的一次)
3:第三次通過表示將拒絕所有不匹配的請求。
試着這麼做:
order deny,allow
deny from 12.34.56.78
deny from 78.56.34.12
allow from all
Order指令控制控制三通道門禁系統 see Apache docs。
訂購允許,拒絕如下所示:
1:所有允許指令都被評估;至少一個必須匹配,否則請求被拒絕。 2:所有Deny指令都被評估。如果有任何匹配,請求被拒絕。
3:默認情況下,拒絕與Allow或Deny指令不匹配的任何請求。
仍然無法正常工作。就像我說的,在另一個網站上,基於「wordpress」,這種代碼完美地工作。它可能是文件.htaccess或一些不允許我使用此代碼的規則? –
也許這個IP沒有REMOTE_ADDR,但另一IP報頭如HTTP_X_FORWARDED_FOR或HTTP_CLIENT_IP
看看這將做的工作。
RewriteCond %{REMOTE_ADDR} ^12.34.56.78 [OR]
RewriteCond %{HTTP:VIA} ^12.34.56.78 [OR]
RewriteCond %{HTTP:FORWARDED} ^12.34.56.78 [OR]
RewriteCond %{HTTP:USERAGENT_VIA} ^12.34.56.78 [OR]
RewriteCond %{HTTP:X_FORWARDED_FOR} ^12.34.56.78 [OR]
RewriteCond %{HTTP:PROXY_CONNECTION} ^12.34.56.78 [OR]
RewriteCond %{HTTP:XPROXY_CONNECTION} ^12.34.56.78 [OR]
RewriteCond %{HTTP:HTTP_PC_REMOTE_ADDR} ^12.34.56.78 [OR]
RewriteCond %{HTTP:HTTP_CLIENT_IP} ^12.34.56.78
RewriteRule ^(.*)$ - [F]
我只是試過,但它仍然無法正常工作。我真的不明白這個。我在wordpress中有一些其他網站,它的工作原理非常完美,但是在這一個網站上,這是一項工作。是否有可能成爲.htaccess的問題? –