外贸营销
wordpress暴力破解规避思路
wordpress作为最受欢迎的博客程序,使用简单插件丰富,深受各层次站长的喜爱,也就此催生了暴力破解wp后台的软件。怎样才能防止后台被爆破呢,这里给几点我的见解,希望对你有所启发。
修改登录页面地址,如果是单用户博客更简单,直接将wp-login.php修改成一个无法猜解的名称,书签保存在浏览器中。当访问wp-login.php时直接返回404代码和空白页面即可。这样当爆破软件向wp-login.php post数据暴力破解是只会得到404代码和空白页面。
具体可参考:wordpress登录页面保护插件
IP地址黑名单
使用check_password过滤器,如果同IP连续错误达到指定次数,将该IP放入blacklist数据表。然后在login_init时在blacklist表中检索来源ip地址,如果存在则直接返回404或跳转页面。
代码?在明天的日志里,今天只说思路。
使用CDN或服务器的IP地址黑名单。已知经常发起攻击的IP地址或地址段,将其加入到CDN或服务器的IP防火墙,将攻击者IP直接阻挡在门外。
如何获取暴力攻击后台的IP地址和攻击次数?
还是使用check_password过滤器,将密码验证结果为false的IP地址放入一个文本文件,导出到excel,数据透视每个IP攻击的次数即可。
代码如下仅供参考:
function get_client_ip(){ if(isset($_SERVER)){ if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])){ $realip = $_SERVER["HTTP_X_FORWARDED_FOR"]; }elseif(isset($_SERVER["HTTP_CLIENT_IP"])) { $realip = $_SERVER["HTTP_CLIENT_IP"]; }else{ $realip = $_SERVER["REMOTE_ADDR"]; } }else{ //不允许就使用getenv获取 if(getenv("HTTP_X_FORWARDED_FOR")){ $realip = getenv( "HTTP_X_FORWARDED_FOR"); }elseif(getenv("HTTP_CLIENT_IP")) { $realip = getenv("HTTP_CLIENT_IP"); }else{ $realip = getenv("REMOTE_ADDR"); } } return $realip;}add_action('login_init','attacker_ip_log');function attacker_ip_log(){ if($_POST['log'] === '' || $_POST['pwd'] === '') return; $attacker_ip = get_client_ip(); $user = get_user_by( 'login', $_POST['log'] ); if ( $user === false || wp_check_password( $_POST['pwd'], $user->data->user_pass, $user->ID) === false ) file_put_contents('attack_log.php',$attacker_ip."\t".date("Y-m-d h:i:sa")."\t".$_POST['log']."\t".$_POST['pwd']."\r\n",FILE_APPEND); }
转载:wordpress暴力破解规避思路 | 我系张先森