源地址:https://www.ctvol.com/seoomethods/1413686.html
什么叫恶意搜索攻击?
wordpress恶意搜索攻击并不是像病毒一样的攻击,而是一种seo分支黑帽手段,通过被攻击网站搜索功能中长尾关键词来实现攻击,通过网址不断地对被攻击网站发起搜索访问,并将搜索访问路径推送到各大搜索引擎,加快恶意路径被收录,并给被攻击网站带来无妄之灾。
恶意搜索攻击的解决方法之代码关闭前端搜索:
/*禁用搜索*/
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;
//跳转到404页
$query->is_404 = true;
}
}
add_action( 'parse_query', 'disable_search' );
add_filter( 'get_search_form', create_function( '$a', "return null;" ) );
恶意搜索攻击的解决方法之搜索引擎约束robots:
Disallow: /?s=*
这个只是约束搜索引擎禁止抓取收录,但是有些小搜索引擎蜘蛛大多数不会守规矩,约束只是约束而已不能断了攻击者攻击,只是写来不用收录。
恶意搜索攻击的解决方法之代码屏蔽恶意关键词:
function wpjam_search_filter($query){ if($query->is_search){ $value = esc_attr($_GET['s']??''); if(!empty($value)){ $keywords = array('恶意关键词1','恶意关键词2'); foreach($keywords as $keyword){ if(strpos($value, $keyword) !== false){ $query->is_search = false; } } } } return $query; } add_filter('pre_get_posts','wpjam_search_filter');
这个可以把恶意关键词1,2替换成攻击方使用的关键词,即可匹配屏蔽,但是不足的地方是需要知道攻击方使用的恶意关键词,一般根除的话还是直接禁止站内搜索功能算是十全九美的事情。
寻找攻击方使用的恶意关键词使用google即可。