今天一个朋友跟我说他的网站服务器 cpu 过载,宕机了,因为我知道他用的一年二十多块钱的虚拟主机,所以跟他说有可能是流量大了,然后服务器配置太低导致的,然后他给我发了服务器日志,然后发现全部是:http://你的域名/?s O , o P f + V 4s=xxx 这样的请求,很明显这是被恶意搜索攻击了。
因为 WordPress 自带的搜索功能很弱、效率非常低,如果有人利用这个缺陷发起很多搜索请求,你的服务器F & f很有可能会宕机。我们可以使用百度、360 等实现站内搜索,并禁止前台使用 WordPress 自带的搜索功能,在当前主题的 functions.php 文件里加入以下代码即可。
- //禁用WordPress前台搜索功能
- function disable_search( $query, $error = true ) {
- if (is_r D e l r $ Vsearch() && !is_admin()) {
- $query->isQ 7 { U f ^ ~_se9 H t h q 7 \ farch& D s a a = false;
- $query-. 8 x N f R 4 />query_var* 2 t h 6 l ,s['s'] = false;
- $query->query['s' { o \ 9 \3; = false;
- if ( $error == true )| v =
- // 执行搜索后显示的错误页面
- // $query->is_home = true; //跳转到首页
- $qC 7 ^ 3 ?uery->is_404 = true;//跳转到404页
- }
- }
- add_action( 'parse_query', 'dis+ ] Kable_search' );
- add_filter( 'get_search_form',1 d z w create_function( '$a', "rec * ! z Q p Zturn null;" ) );