WordPress的搜索一直是一个很占内存的功能,如果你的文章很多,那么执行一次搜索会相对卡顿,那么我们如何尽可能的防范一下呢?比如机器人扫描到了搜索页面,那将可能直接导致内存爆满mysql进程被终止。

这里,我们可以加一个搜索验证码,用户在第一次搜索时需要进行简单的人机验证。一来这样可以有效防止恶意扫描导致内存崩溃,二来可以防止恶意请求关键字生成结果页面。

写了一个简单的验证机制,可将下面代码加到主题的functions.php里即可。

/*  Plugin Name: 搜索验证码  Plugin URI:   Description: WordPress 搜索验证码  Version: 1.0  Author:   Author URI:   */  function esc_search_captcha( $query, $error = true ) {  if (is_search() && !is_admin()) {  if(!isset($_COOKIE['esc_search_captcha'])){  $query->is_search = false;  $query->query_vars['s'] = false;  $query->query['s'] = false;  if ( $error == true ){  //$query->is_404 = true;  if(isset($_POST['result'])){  if($_POST['result'] == $_COOKIE['result']){  $_COOKIE['esc_search_captcha'] = 1;  setcookie('esc_search_captcha',1,0,'/');  echo '<script>location.reload();</script>';  }  }    $num1 = rand(1,50);  $num2 = rand(1,50);  $result = $num1+$num2;  $_COOKIE['result'] = $result;  setcookie('result',urldecode($result),0,'/');  ?>  <html>  <head>  <meta charset="UTF-8">  <title>人机验证</title>  <style>  body{color: #333;text-align: center;font-size: 16px;}  .erphp-search-captcha{margin: 50px auto 15px;max-width: 250px;width: 100%;padding: 40px 20px;border: 1px solid #ddd;text-align: center;border-radius: 5px;}  .erphp-search-captcha form{margin: 0}  .erphp-search-captcha input{border: none;border-bottom: 1px solid #666;width: 50px;text-align: center;font-size: 16px;}  .erphp-search-captcha input:focus{outline: none;}  .erphp-search-captcha button{border: none;background: transparent;color: #ff5f33;cursor: pointer;}  .erphp-search-captcha button:focus{outline: none;}  a{color: #000;font-size: 12px;}  </style>  </head>  <body>  <div class="erphp-search-captcha">  <form action="" method="post"><?php echo $num1;?> + <?php echo $num2;?> = <input type="text" name="result" required /> <button type="submit">验证</button></form>  </div>  <a href="<?php echo home_url();?>">返回首页</a>  </body>  </html>  <?php  exit;  }  }  }  }  add_action( 'parse_query', 'esc_search_captcha' );

新软师兄 » WordPress 如何给搜索页面展示结果前加一个人机验证码?
50T免费网盘资源大集合【持续更中~~~~】:点击查看

dase kand pornhan.mobi xvideo desi gay pcso 2pm result today pinoytvfriends.com where i can watch bad romeo كلام فى النيك wfporn.com قصص محارم حديثة busporn porngugu.mobi indian sexx vedios sex ka video noticieroporno.com himachal pradesh sex com
nero hentai hentaitgp.com ламия хентай www.mom xxx.com alohaporn.me sahara knite mature fucking tubepatrolporn.com bhabi sex indian girl sex gotporn.mobi xnxx family strocks ang probinsyano july 20 2022 full episode youtube pilipinoteleserye.com ano ang pambansang sasakyan ng pilipinas
احلي سكس محارم pornxporn.org نيك فلاحى multi.xnxx alohaporn.net telugu sex chart سكس قصيرات arabysexy.org نيك نقاب www assames sex com umora.info desi sexy bhabi 8teenx bukaporn.com india hot sex videos