方法一:

方法很容易,先到 IPdeny 下载以国家代码编制好的 IP 地址列表,比如下载 cn.zone:

# wget http://www.ipdeny.com/ipblocks/data/countries/cn.zone

 

有了国家的所有 IP 地址,要想屏蔽这些 IP 就很容易了,直接写个脚本逐行读取 cn.zone 文件并加入到 iptables 中:

#!/bin/bash
# Block traffic from a specific country

COUNTRY="cn"
IPTABLES=/sbin/iptables
EGREP=/bin/egrep

if [ "$(id -u)" != "0" ]; then
   echo "you must be root" 1>&2
   exit 1
fi

resetrules() {
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
$IPTABLES -X
}

resetrules

for c in $COUNTRY
do
        country_file=$c.zone

        IPS=$($EGREP -v "^#|^$" $country_file)
        for ip in $IPS
        do
           echo "blocking $ip"
           $IPTABLES -A INPUT -s $ip -j DROP
        done
done

exit 0

好 IP 和坏 IP 都被屏蔽掉了,这种办法当然不高明,屏蔽 IP 也没有解决被攻击的问题,但是是解决问题的第一步,屏蔽了攻击源以后我们才有带宽、时间和心情去检查 VPS 的安全问题。公布一份我们客户被攻击的网络流量图,在18点到0点所有带宽都被攻击流量占用,这时候客户无法登录 VPS,访问者也无法访问网站:

方法二:

加到网站根目录的index.php中即可

$ly_lan = strtolower(substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,5));
if ($ly_lan == “zh-cn”) {
header(‘HTTP/1.1 503 Method Not Allowed’);
echo ‘<html>
<head><title>503 Service Temporarily Unavailable</title></head>
<body bgcolor=”white”>
<center><h1>503 Service Temporarily Unavailable</h1></center>
<hr><center>nginx/0.8.54</center>
</body>
</html>’;
exit;
}

通过判断访问者浏览器语言来拒绝访问

方法三:

在根目录的.htaccess文件中加入地区IP区域

http://www.countryipblocks.net/country-blocks/select-formats/

 

  1. 我现在屏蔽国内IP用的方法是把屏蔽大陆IP和屏蔽中文浏览器这两段代码都放到htaccess里去

  2. #简单的,判断浏览器语言,是中文的就转向
    #
    #
    #最好是搞一个中国的IP列表,根据IP来判断

     

    http://ule.co/%E5%A4%96%E8%B4%B8%E7%BD%91%E7%AB%99%E5%B1%8F%E8%94%BD%E5%9B%BD%E5%86%85ip%E8%AE%BF%E9%97%AE%E7%9A%84%E5%8F%AF%E8%A1%8C%E6%80%A7%E6%96%B9%E6%A1%88/

     

    一、利用.htaccess文件

    在.htaccess中写法,如:

    ErrorDocument 403 http://www.XX.com  //这一行可有可无,表达的意思就是在不被允许的IP段打开的时候会跳到这个网页上去

    order deny,allow   //在英文输入法下书写完成

    allow from 210.249.1.3  // 这里输入自己的IP或IP段,被允许访问

    allow from 220.240.3.0/24  // 这里输入自己的IP或IP段,被允许访问

    deny from 58.56.0.0/15  //被拒绝访问的IP段

    还有个简单的办法:blockacountry 这个网站可以根据你想屏蔽的国家,在线生成.htaccess文件屏蔽代码,生成下载上传至服务器即可。

    屏蔽IP的缺点:如果用户知道你使用了IP屏蔽技术,通过使用国外代理服务器或国外×××,照样可以跨越屏蔽,畅通无阻地访问你的网站。

    二、屏蔽中文操作系统(通过判断客户端的操作系统版本)

    1.PHP代码如下:

    $client_sys_language = $_SERVER["HTTP_ACCEPT_LANGUAGE"]; // system language

    if (preg_match (“/^zh-cn/i”,$client_sys_language)) {

    echo “<H1>Forbidden</H1>You don’t have permission to access /on this server.<P><P>Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.<HR><ADDRESS>365.dg01.com Port 80</ADDRESS>”;

    exit;

    }

     

     

    最直接最简单的办法,直接到中国互联网举报中心去举报下,很快就能在全国被屏蔽