你是否频繁收到攻击邮件,扫描用户名及密码?恶意采集?那么看看本教程,会给你带来一些帮助。
本站即为演示。
阿柳云频繁收到外网IP攻击,试图使用插件BAN,但是效果不佳,老外使用的是J万个IP,怎么能一一禁止ban,所以阿柳云只能全封外国IP,无奈之举,也是为了阿柳云网络的安全。
不多说了,希望此篇教程能帮助到一些WP站友,下面附上阿柳云使用的源代码。
禁止外网访问PHP
/** * 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 '<!-- 运营商是'.$result['data']['isp'].',IP是'.$ip.',阿柳云禁止一切外国佬访问!别问我为什么!因为钓鱼岛是中国的! -->'; } } 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这个链接了。这个链接,你自己修改即可。