模板下载吧 > 快速入门 > 禁止国外外网IP访问WordPress,防止扫描及攻击

禁止国外外网IP访问WordPress,防止扫描及攻击

模板下载吧

你是否频繁收到攻击邮件,扫描用户名及密码?恶意采集?那么看看本教程,会给你带来一些帮助。不多说了,希望此篇教程能帮助到一些WP站友,下面附上使用的源代码。

禁止外网访问

/**
* WordPress 显示评论者IP归属地PHP函数
* https://www.aliuyun.cn/wordpress/wordpress-course/management/jinzhi-waiguo-ip.html
**/
function aliuyun_getRealIp()
{
  $ip=false;
  if(!empty($_SERVER["HTTP_CLIENT_IP"])){
    $ip = $_SERVER["HTTP_CLIENT_IP"];
  }
  if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
    if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
    for ($i = 0; $i < count($ips); $i++) {
      if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
        $ip = $ips[$i];
        break;
      }
    }
  }
  return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}
 
function aliuyun_locate($ip) {
	$ip=aliuyun_getRealIp();
    if(empty($ip)) $ip = get_comment_author_IP();
    $ch = curl_init();  
    $timeout = 5;  
    curl_setopt ($ch, CURLOPT_URL, 'http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);  
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);  
    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);  
    $file_contents = curl_exec($ch);  
    curl_close($ch);  
    $result = json_decode($file_contents,true);
    if ($result['data']['country'] != '中国') {
        wp_redirect( 'https://www.aliuyun.cn/aliuyun-news/womenshizhongguoren.html' );
    } else {
        echo '';
    }
}
add_action( 'wp_footer', 'aliuyun_locate' );

你只需将以上代码加入到主题中的function.php即可。刷新页面试试效果,如果主题中出现那么恭喜你,禁封老外成功了!!
其中,wp_redirect( 'https://www.aliuyun.cn/aliuyun-news/womenshizhongguoren.html' );可替换为wp_die('FUCK YOU!!!!!!!!!!', 'FUCK YOU!', array('response' => '503'));这样直接503,SEO也还行。如果不替换的话,老外访问全部跳转到https://www.aliuyun.cn/aliuyun-news/womenshizhongguoren.html这个链接了。这个链接,你自己修改即可。





上一篇:

下一篇:

禁止国外外网IP访问WordPress,防止扫描及攻击:等您坐沙发呢!

大牛,别默默的看了,快来点评一下吧!:)。

您必须登录后才能发表评论哦!:)

QQ登录 微博登录
2017织梦源码销售商城

Hi, 欢迎加入模板下载吧技术交流群,带你装逼带你飞!

我要入群

模板下载吧,累计帮助1000+用户成功建站,为草根创业提供助力!

立刻开启你的建站之旅
现在加入模板下载吧,注册一个账号