WordPress网站防止他人恶意攻击的8种方法

  ddos防御     |      2023-03-29 20:58

本站开放注册是想让更多的同道中人一起学习进步分享所得的目的,单近日(2019.06.07-10)本站遭到不明人士恶意注册,很是气人,所以本篇文章分享的是网站如何防止他人恶意攻击。

真是搞的是很烦人,本站采用的是WordPress程序,所以就想着添加一个注册时的验证,到网上搜到很多,比如使用极验的方法,但是还要注册账号什么的,比较麻烦,不太想用。

在网上全百科搜集了以下8中比较实用的方法,有些适用于所有网站。

第一种

直接关闭注册功能。也可以在注册页面上加入验证码等功能,防止机器恶意注册。

第二种

一个纯代码实现的方法。具体如下:

把下面这段代码添加到自己的functions.php,其中的验证问题我使用了本站的域名“”,你也可以改成其他内容。注意改的时候,代码第四行和倒数第四行都有,要改两处哦

add_action( 'register_form', 'add_security_question' );function add_security_question() { ?> <p> <label><?php _e('请输入本站域名:') ?><br /> <input type="text" name="user_proof" id="user_proof" class="input" size="25" tabindex="20" /></label> </p> <?php } add_action( 'register_post', 'add_security_question_validate', 10, 3 );function add_security_question_validate( $sanitized_user_login, $user_email, $errors) { // 如果没有回答 if (!isset($_POST[ 'user_proof' ]) || empty($_POST[ 'user_proof' ])) { return $errors->add( 'proofempty', '<strong>错误</strong>: 您还没有回答问题。' ); // 如果答案不正确 } elseif ( strtolower( $_POST[ 'user_proof' ] ) != '' ) { return $errors->add( 'prooffail', '<strong>错误</strong>: 您的回答不正确。' ); }}复制

第三种

安装Wordfence Security插件,可以在插件里面查看最近登陆的ip,以及尝试注册、登陆的ip,针对该ip(段)进行block。

第四种

更改wordpress登陆URL防止恶意注册

WP 默认的登陆URL是wp-login.php或wp-admin.php(许多spamer会根据这些footprint来收集可注册的wordpress站点,然后你的站内就多出许多垃圾评论。如果你不想成为其中的一员,那就改改登录url吧)

可以通过在 .htaccess 添加如下代码把登陆 URL 改成 login:

RewriteRule ^login$ [NC,L]复制

或者login改为自己的认为好记又不容易被识别的字符也可以哦

第五种

随机加法验证码

WordPress网站防止他人恶意攻击的8种方法

把以下全部代码丢进模板函数functions.php

/*-----------------------------------------------------------------------------------*/ /* WordPress注册用户随机数字验证码 /*-----------------------------------------------------------------------------------*/ # 注册用户添加验证码第一种 function loper_register_english_figures() { # 获取两个随机数, 范围0~99 $num1=rand(0,99); $num2=rand(0,99); echo "<p> <label for='math' class='small'>验证码:$num1 + $num2 = ? </label> <input id='math' type='text' name='sum' class='input' size='25'> <input type='hidden' name='num1' value='$num1'> <input type='hidden' name='num2' value='$num2'></p>"; } add_action('register_form','loper_register_english_figures'); # 判断验证码是否空白和错误 function loper_register_calculation() { $sum=$_POST['sum']; switch($sum){ case $_POST['num1']+$_POST['num2']:break; case null:wp_die( __( '错误:请填入验证码!' ), '', array( 'back_link'=>true ) );break; default:wp_die( __( '错误:验证码不正确!' ), '', array( 'back_link'=>true ) );} } add_action( 'register_post', 'loper_register_calculation');复制

第六种

WordPress用户注册时验证邮箱真实性实现代码

WordPress网站防止他人恶意攻击的8种方法

邮箱地址验证接口

请求地址:

请求方式:post

请求参数:emails=邮箱地址

返回值:包含邮箱地址验证结果的json数据。

DUX主题注册增加邮箱地址真实性验证

打开dux主题下的action文件里面的log.php文件,增加如下代码: