禁止IP訪問網站的各種方法(linux,php,nginx,apache)

禁止IP訪問網站的各種方法有許多,不同伺服器環境的方法會所有不同,下面我總結我們常用的禁止IP訪問網站的實現配置方法,希望對大家會有所幫助。

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.111cn.net
</VirtualHost>

說明:藍色部分是實現拒絕直接通過221.*.*.*這個IP的任何訪問請求,這時如果你用221.*.*.*訪問,會提示拒絕訪問。紅色部分就是允許通過www.111cn.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 DROP
service 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這樣的形式。

更多相關文章
  • 本文章很好了介紹了關于利用asp實現限制IP或IP段訪問網站代碼,這種效果我們經常在論壇可以看到,下面我們看實例. 代碼如下 <% ''獲取訪問者的地址 ip=Request.ServerVariables("REM
  • Nginx禁止ip訪問可以防止指定IP訪問我們的網站了,下面我來給各位介紹一個例子,本例子可以實現是防止單IP訪問或IP網段訪問了,非常的有用我們一起來看看吧.常用的linux做法iptables參考規則 代碼如下 iptables -I INPUT -p tcp –dport 80 -m –mac ...
  • 之前在網上看到過幾篇所謂的在.htaccess中禁止IP訪問的教程,但是很明顯,發這些教程的人基本都是轉載的,自己都不明白其含義,人雲亦雲,轉載錯誤的教程,反過來誤導他人.什麽是htaccesshtaccess文件(或者”分布式配置文件”)提供了針對目錄改變配置的方法, 即,在一個特定的文檔目錄中放 ...
  • 本文章來給各位同學介紹一下檢測訪問網站是pc端還是手機端用戶(iis/asp/c#),希望此方法對各位同學會有所幫助呀.iis檢測代碼訪問網站是pc端還是手機端用戶 代碼如下 <?xml version="1.0" encoding="UTF-8"?&g ...
  • 禁止直接訪問網首首頁index.php文件的方法
    因爲我們要做一些seo優化所以網首訪問不顯示index.php文件直接顯示html頁面了,所以我們需要禁止直接訪問網首首頁index.php文件了,下面一起我總結了幾個例子.比如說我http://www.111cn.net/ a.php 這個文件我不想讓別人直接從浏覽器輸入地址訪問但是如果從任何網站 ...
  • 下文來爲各位整理一段php判斷是android還是ios還是wp的訪問網站例子,非常 的實用希望對各位朋友會有所幫助.在php中可以用$_SERVER['HTTP_USER_AGENT']來區分是android.ios還是wp的請求,具體可以用以下代碼來實現:$userAgent = $_SERVE
  • HTTP_USER_AGENT是獲取用戶浏覽器信息的一個全局變量,我們可以利用HTTP_USER_AGENT獲取的值來判斷用戶是手機浏覽器還是電腦訪問網. 代碼如下 $uAgent = $_SERVER['HTTP_USER_AGENT'];$osPat = "mozilla|m3gate ...
  • 這裏給大家介紹一個移動設備檢查類了,從google找到的mobile-detect類,這個類可以ct判斷android.ios.Tablet平板,浏覽器,等比較完美完善的判斷ipad,iPhone,win8等使用方法
一周排行