WordPress 网站毕竟是功能比较全的cms系统了,全有它全的好处,但全的同时很有可能就会被攻击者利用,对站点造成不同程度的损害。就拿 WordPress 自带的搜索功能来说,它很方便使用,只要在网站内需要搜索的地方添加调用即可。但是其实 WordPress 自带的搜索功能也不好,因为它会被利用,攻击者可以利用自带的搜索功能进行恶意的搜索攻击。
本文白天就来针对WordPress 网站被利用自带搜索恶意攻击来讲讲我的解决方法。
恶意搜索攻击,其实就是通过既定的网址结构不断对网站发起不良关键词的搜索访问,比如 WordPress 的搜索网址结构为 域名/?s=搜索词
,这样恶意搜索导致的结果可能有:
说白了这属于搜索留痕的一种黑帽SEO手段,它利用WordPress 站内自带的搜索可以来优化某些长尾关键词以达到推广的目的。
那么怎样应对这类恶意搜索攻击呢?具体有以下几种做法:
1、禁止搜索引擎收录搜索结果页地址
禁止收录搜索结果页,我们可以在网站根目录下的 robots.txt 文件中,添加以下规则:
Disallow: /?s=*
(注:请自查自己的 robots.txt 文件中是否含有,如果有请跳过这一步)。
2、限制IP在一定时间内的搜索次数
使用插件 Search Limiter & Blocker ,可以设置 WordPress 网站自带搜索在一定时间内限制同一IP的可搜索次数。
3、彻底关闭 wordpress 自带的搜索功能,使用第三方站内搜索替代
这种方法可以说是无奈才会使用吧,提供第三方自带的搜索功能有多家:百度站内搜索(好像已经关闭入口了)、搜狗站内搜索、360站内搜索等等,但这个第三方搜索比较尴尬的点就在于搜索只提供在对应搜索引擎已收录的内容,当网站在该搜索引擎没收录时,就啥也搜不到…
4、针对搜索功能增加人机安全验证
这个验证就类似谷歌机器人验证一样,辨别是正常访客还是机器人访客,若是正常访客,WordPress搜索安全验证过后则可以畅通无阻,正常使用;若是恶意机器人,则防火墙就会自动拦截,不再对服务器资源进行消耗。
实现逻辑就是在防火墙层次进行逻辑匹配,只要包含 /?s=
,则执行人机安全验证,验证通过则为正常访问,验证不通过则直接拦截。
而且还可以根据自己的需求进行调整,比如第一次搜索放行,第二次进行验证,验证不通过进行阻断、封禁IP都可以。
(注:白天目前还未使用,具体如何操作未知,如有需要还请自行了解。)
除了以上方法外,宝塔面板专业版软件 – Nginx防火墙也可以设置限制当前IP在网站内单位时间的访问次数,也可起到防止被恶意刷搜索的作用。方法有很多,可根据自己需求来设置。
结语:以上就是本文白天针对 WordPress 网站被利用自带搜索恶意攻击提供的一些解决方法了。搜索被恶意攻击应该是大多数 WordPress 站长都会遇到的问题,毕竟恶意的搜索攻击会增大我们的服务器压力,甚至是影响网站在搜索引擎的权重,还是需要注意一下。