网站站内搜索被恶意攻击,要及时屏蔽防范!

2022年7月5日网络学习备忘录评论1906字阅读6分21秒阅读模式

今天一个朋友跟我说他的网站服务器cpu过载,宕机了,然后我看了服务器日志,然后发现全部是:http://你的域名/?s=xxx这样的请求,很明显这是被恶意搜索攻击了。这种恶意搜索攻击,其实非常简单,就是通过既定的网址结构不断对网站发起不良关键词搜索访问,将访问的地址推送到各大搜索引擎,加快这些恶意网址的收录,这对网站排名是非常不利的,甚至可能会直接被搜索引擎 K 站。文章源自小虾博客-https://www.xiaoxiawz.com/yingxiao/3510.html

网站站内搜索被恶意攻击,要及时屏蔽防范!文章源自小虾博客-https://www.xiaoxiawz.com/yingxiao/3510.html

那么如何应对这类恶意搜索攻击呢?办法有多种,大家自己选择一个比较适合自己的即可,下面给大家一一分享一下:文章源自小虾博客-https://www.xiaoxiawz.com/yingxiao/3510.html

1、禁止搜索引擎收录搜索结果页文章源自小虾博客-https://www.xiaoxiawz.com/yingxiao/3510.html

搜索结果页一般我们都不推荐被收录,所以建议大家还是禁止收录。现在几乎所有搜索引擎都遵循 robots.txt 的规则,也就是我们可以通过 robots.txt 定义规则,阻止搜索引擎收录搜索结果页面。我们可以在网站根目录,创建一个 robots.txt 文件,填入下面的内容。文章源自小虾博客-https://www.xiaoxiawz.com/yingxiao/3510.html

Disallow: /?s=*文章源自小虾博客-https://www.xiaoxiawz.com/yingxiao/3510.html

这样就禁止搜索引擎收录 WordPress 搜索结果页了。文章源自小虾博客-https://www.xiaoxiawz.com/yingxiao/3510.html

但是这个方法有个不足之处就是一旦搜索引擎不遵循 robots 规则就没有作用了(国内不少搜索引擎就不遵守 robots 协议),所以这个办法明月的态度是仅供参考,聊胜于无了!文章源自小虾博客-https://www.xiaoxiawz.com/yingxiao/3510.html

2、使用代码实现屏蔽搜索某些关键词文章源自小虾博客-https://www.xiaoxiawz.com/yingxiao/3510.html

在当前主题目录下/wp-content/themes/主题名/functions.php 文件添加下列代码:文章源自小虾博客-https://www.xiaoxiawz.com/yingxiao/3510.html

add_action('admin_init', 'ytkah_search_ban_key');
function ytkah_search_ban_key() {
add_settings_field('ytkah_search_key', '搜索关键词屏蔽', 'ytkah_search_key_callback_function', 'reading');
register_setting('reading','ytkah_search_key');
}
function ytkah_search_key_callback_function() {
echo '<textarea name="ytkah_search_key" rows="10" cols="50" id="ytkah_search_key" class="large-text code">' . get_option('ytkah_search_key') . '</textarea>';
}
add_action('template_redirect', 'ytkah_search_ban');
function ytkah_search_ban(){
if (is_search()) {
global $wp_query;
$ytkah_search_key = get_option('ytkah_search_key');
if($ytkah_search_key){
$ytkah_search_key = str_replace("\r\n", "|", $ytkah_search_key);
$BanKey = explode('|', $ytkah_search_key);
$S_Key = $wp_query->query_vars;
foreach($BanKey as $Key){
if( stristr($S_Key['s'],$Key) != false ){
wp_die('请不要搜索非法关键字');
}
}
}
}
}

然后进入 WordPress 网站后台设置–>阅读–>找到搜索关键词屏蔽–>添加您想屏蔽的搜索关键词,比如(恶意关键词 1,恶意关键词 2…),一行一个关键词文章源自小虾博客-https://www.xiaoxiawz.com/yingxiao/3510.html

在后台(设置→阅读)中添加要屏蔽的关键词。文章源自小虾博客-https://www.xiaoxiawz.com/yingxiao/3510.html

网站站内搜索被恶意攻击,要及时屏蔽防范!文章源自小虾博客-https://www.xiaoxiawz.com/yingxiao/3510.html

个方法相对于第一个方法来说效果好了很多,但还是比较被动,需要站长及时发现和屏蔽关键词才可以,这就存在一个防不胜防的问题了,毕竟谁也没有时间和精力一天 24 个小时盯着这种事儿呀!文章源自小虾博客-https://www.xiaoxiawz.com/yingxiao/3510.html

3、彻底禁用 WordPress 内置搜索文章源自小虾博客-https://www.xiaoxiawz.com/yingxiao/3510.html

目前大部分主流 WordPress 主题都自带集成第三方站内搜索了,比如像小虾博客使用的知更鸟的 Begin主题就集成了百度、搜狗、360 站内搜索的同时还提供了 WordPress 内置搜索的开关控制,如下图所示:文章源自小虾博客-https://www.xiaoxiawz.com/yingxiao/3510.html

网站站内搜索被恶意攻击,要及时屏蔽防范!文章源自小虾博客-https://www.xiaoxiawz.com/yingxiao/3510.html

这样一来可以说是彻底一劳永逸的解决了“恶意搜索攻击”这个顽疾了,同时也防止某些无聊幼稚的人借助 WordPress 内置搜索试试的流量攻击啥骚扰网站。文章源自小虾博客-https://www.xiaoxiawz.com/yingxiao/3510.html

至于 WordPress 集成第三方搜索引擎到站内的方法网上教程实在是太多了,大家自行百度、谷歌一下吧,这里就不赘述了。文章源自小虾博客-https://www.xiaoxiawz.com/yingxiao/3510.html

除了以上方法外,宝塔面板专业版软件 – Nginx防火墙也可以设置限制当前IP在网站内单位时间的访问次数,也可起到防止被恶意刷搜索的作用。方法有很多,可根据自己需求来设置。文章源自小虾博客-https://www.xiaoxiawz.com/yingxiao/3510.html

虾叔
  • 本文由 发表于 2022年7月5日
  • 如转载请注明出处并保留链接形式:https://www.xiaoxiawz.com/yingxiao/3510.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: