WordPress屏蔽恶意搜索,防止搜索结果被人恶意利用

最近几天发现有人在恶意攻击我的搜索接口,一直在搜索提交不良信息

如下图,看了一下,全都是这种 足疗..美女…

image

 

这种恶意搜索攻击就是WordPress的网址结构,不断对网站发起不良关键词搜索访问

估计他还会将访问的地址推送到各大搜索引擎,加快这些恶意网址的收录。

初不判断他的目的就是里利用我的网站,让搜索引擎收录这些内容 沦为这些不法之徒传播不良信息的渠道…

 

既然被我发现,那么要如何屏蔽恶意搜索攻击?

我们之间使用代码实现屏蔽搜索某些关键词 在当前主题目录下/wp-content/themes/主题名/functions.php 文件添加下列代码:

add_action('admin_init', 'search_ban_key');
function search_ban_key(){
	add_settings_field('search_key', '搜索关键词屏蔽', 'search_key_callback_function', 'reading');
	register_setting('reading','search_key');
}
function search_key_callback_function(){
	echo '<textarea name="search_key" rows="10" cols="50" id="search_key" class="large-text code">' . get_option('search_key') . '</textarea>';
}
add_action('template_redirect', 'search_ban');
function search_ban(){
	if (is_search()) {
		global $wp_query;
		$search_key = get_option('search_key');
		if($search_key) {
			$search_key = str_replace("\r\n", "|", $search_key);
			$BanKey = explode('|', $search_key);
			$S_Key = $wp_query->query_vars;
			foreach($BanKey as $Key) {
				if( stristr($S_Key['s'],$Key) != false ) {
					wp_die('请不要搜索非法关键字');
				}
			}
		}
	}
}
然后进入 WordPress 网站后台设置–>阅读–>找到搜索关键词屏蔽–>添加您想屏蔽的搜索关键词,一行一个关键词


这样就可以屏蔽恶意关键词搜索了

物联沃分享整理
物联沃-IOTWORD物联网 » WordPress屏蔽恶意搜索,防止搜索结果被人恶意利用

发表评论