PHP禁止某個IP或IP段訪問
廢話不多說,客官請看:
<? //禁止某個IP$banned_ip = array ("127.0.0.1",//"119.6.20.66","192.168.1.4");if ( in_array( getenv("REMOTE_ADDR"), $banned_ip ) ){die ("您的IP禁止訪問!");}//禁止某個IP段$ban_range_low=ip2long("119.6.20.65");$ban_range_up=ip2long("119.6.20.67");$ip=ip2long($_SERVER["REMOTE_ADDR"]);if ($ip>$ban_range_low && $ip<$ban_range_up){echo "您的IP在被禁止的IP段之中,禁止訪問!";exit();}?>
apache禁止使用IP訪問
方法一:在httpd.conf檔案最後面,加入以下代碼
NameVirtualHost 221.*.*.*<VirtualHost 221.*.*.*>ServerName 221.*.*.*<Location />Order Allow,Deny Deny from all</Location></VirtualHost> <VirtualHost 221.*.*.*>DocumentRoot "c:/web"ServerName www.jb51.net</VirtualHost>
說明:藍色部分是實現拒絕直接通過221.*.*.*這個IP的任何訪問請求,這時如果你用221.*.*.*訪問,會提示拒絕訪問。紅色部分就是允許通過www.jb51.net這個網域名稱訪問,主目錄指向c:/web(這裡假設你的網站的根目錄是c:/web)
Linux 屏蔽IP訪問
#屏蔽單個IP的命令是iptables -I INPUT -s 123.45.6.7 -j DROP#封整個段即從123.0.0.1到123.255.255.254的命令iptables -I INPUT -s 123.0.0.0/8 -j DROP#封IP段即從123.45.0.1到123.45.255.254的命令iptables -I INPUT -s 124.45.0.0/16 -j DROP#封IP段即從123.45.6.1到123.45.6.254的命令是iptables -I INPUT -s 123.45.6.0/24 -j DROPservice iptables save
儲存在/etc/sysconfig/iptables 若沒有iptables檔案會自動建立
Nginx 禁止IP訪問
首先建立下面的設定檔放在 nginx 的 conf目錄下面,命名為blocksip.conf:
deny 4.4.4.4 //這是nginx要禁止的IP
儲存一下。
在nginx的設定檔nginx.conf中加入:include blocksip.conf; 然後重啟 nginx,就可以生效了。被封鎖的ip開啟網站的時候,就會提示:
403 Forbidden
blocksip.conf:的格式還有許多種,可以配置只允許的IP訪問或者IP段訪問:
deny IP;
allow IP;
# block all ips
deny all;
# allow all ips
allow all;
其中網段的寫法是這樣的:192.168.1.0/24這樣的形式。