WordPress教程

禁用WordPress自带前台搜索功能防止恶意搜索攻击

阿里云

今天一个朋友跟我说他的网站服务器 cpu 过载,宕机了,因为我知道他用的一年二十多块钱的虚拟主机,所以跟他说有可能是流量大了,然后服务器配置太低导致的,然后他给我发了服务器日志,然后发现全部是:http://你的域名/?s=xxx 这样的请求,很明显这是被恶意搜索攻击了。

因为 WordPress 自带的搜索功能很弱、效率非常低,如果有人利用这个缺陷发起很多搜索请求,你的服务器很有可能会宕机。我们可以使用百度、360 等实现站内搜索,并禁止前台使用 WordPress 自带的搜索功能,在当前主题的 functions.php 文件里加入以下代码即可。

也想出现在这里?联系我们
创客主机
  1. //禁用WordPress前台搜索功能
  2. function disable_search( $query, $error = true ) {
  3. 	if (is_search() && !is_admin()) {
  4. 		$query->is_search = false;
  5. 		$query->query_vars['s'] = false;
  6. 		$query->query['s'] = false;
  7. 		if ( $error == true )
  8. 		// 执行搜索后显示的错误页面
  9. 		// $query->is_home = true; //跳转到首页
  10. 		$query->is_404 = true;//跳转到404页
  11. 	}
  12. }
  13. add_action( 'parse_query', 'disable_search' );
  14. add_filter( 'get_search_form', create_function( '$a', "return null;" ) );

禁用 WordPress 自带前台搜索功能防止恶意搜索攻击

已有 303 人购买
查看演示升级 VIP立刻购买

收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!