微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

//禁用wordpress前台搜索功能

function disable_search( $query,$error = true ) {

if (is_search() && !is_admin()) {

$query->is_search = false;

$query->query_vars['s'] = false;

$query->query['s'] = false;

if ( $error == true )

// 执行搜索显示错误页面

// $query->is_home = true; //跳转首页

$query->is_404 = true;//跳转到404页

}

}

add_action( 'parse_query','disable_search' );

add_filter( 'get_search_form',create_function( '$a',"return null;" ) );

 

原文地址:https://www.jb51.cc/wordpress/4741933.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐