全百科精品资源分享
免费优质资源下载平台

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

文章目录

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

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

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

第一种

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

第二种

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

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

add_action( 'register_form', 'add_security_question' );function add_security_question() { ?>    
<p>    
<label><?php _e('请输入本站域名:www.quanbaike.com') ?><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' ] ) != 'www.quanbaike.com' ) {        return $errors->add( 'prooffail', '<strong>错误</strong>: 您的回答不正确。'  );    }}

第三种

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

第四种

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

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

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

RewriteRule ^login$ http://www.quanbaike.com/wp-login.php [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用户注册时验证邮箱真实性实现代码

邮箱地址验证接口

请求地址:http://email.qhyt1688.com/Home/EValidation

请求方式:post

请求参数:emails=邮箱地址

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

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

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

function SendPost_email($FullHttpUrl, $Req, $isHttps)
{

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $Req);
        curl_setopt($ch, CURLOPT_TIMEOUT, 3);
        curl_setopt($ch, CURLOPT_URL, $FullHttpUrl);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        if ($isHttps === true) {
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,  false);
                curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,  false);
        }

        $result = curl_exec($ch);

        return $result;
}

这是一个PHP发送post的方法,有三个参数,第一个是请求地址,第二个是请求参数,第三个是是否是https请求,由于接口是http,所以我们这里写fasle即可。

继续在log.php的第83行后,也就是邮箱格式验证后面写上如下代码,进行邮箱地址真实性验证。

$res=SendPost_email('http://email.qhyt1688.com/Home/EValidation','emails='.$ui['email'],false);
$stat=json_decode($res)->r[0]->emailSate;
if($stat!=1){
      print_r(json_encode(array('error'=>1, 'msg'=>'邮箱不存在!')));  
      exit();
}

返回json有3个状态,0是邮箱地址不存在,1是邮箱地址存在,2是不支持的邮箱地址。

到此邮箱地址真实性检查结束,正确率比较高。SendPost_email方法也可以放在functions.php中,因为dux的log.php接口文件中引入了wp核心,可以直接使用functions.php与WordPress提供的函数。

第七种

封锁某个ip访问(本方法适用于所有网站)

创建.htaccess文件,然后写上限制代码

Order Allow,Deny  ##拒绝开关,allow表示拒绝访问

allow from all

#以下IP不能通行

Deny from 222.186.23.24

举例代码,可设置禁止多个ip

<IfModule mod_rewrite.c>
Order Allow,Deny
Allow from all
Deny from 122.112.158.56 123.101.182.183
</IfModule>

还可设置禁止ip段

Order Allow,Deny
Allow from all
Deny from 192.168.0.0/24

保存后将此文件上传至服务器,默认放在根目录下。

Download Nulled WordPress Themes
Download Nulled WordPress Themes
Download Best WordPress Themes Free Download
Premium WordPress Themes Download
udemy paid course free download
download mobile firmware
Free Download WordPress Themes
free online course

本文由全百科网分享提供,分享更多精品资源,帮助你我共同成长。

赞(0) 打赏
本站内容均来自网络收集,转载内容不代表本网站的观点及意见,仅供用户参考和借鉴。如对稿件内容及版权问题有疑议,请及时联系全百科官方邮箱: smtsg@foxmail.com全百科网 » WordPress网站防止他人恶意攻击的8种方法
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏