近日服务器占用率经常占到100%,导致很多客户网站受到影响。经技术排查发现为某个客户站点导致。
经过查看服务器日志发现,每秒有很多访问,访问数据统计为百度蜘蛛。后通过网站查询相关资料说:为可能是假蜘蛛频繁访问导致的。
经过站长工具真假百度蜘蛛查询,发现访问IP为百度。突然没有解决办法了,如果屏蔽百度访问那么网站排名就没有了,这样得不偿失。
仔细查看访问日志,百度蜘蛛访问的URL地址很多是不存在的URL参数。但为什么百度会一直访问这些不存在的URL呢,事情还需要回到几个月前
用户站点为DZ论坛核心,是通过其他网络公司制作,转用易天科技的空间。DZ论坛自身有很多BUG 导致2019年9月-10月期间被人入侵过,入侵后把多出来很多无用页面。而百度也已经收录了这些页面如:
forum.php?mid=1147516246
portal.php?mid=94020070192
百度收录数量上升到16万多,而正常值只有2万个收录量左右。在网站中把这两个文件临时删除后发现CPU恢复正常,导致问题的原因就两个文件。原因是百度一直收录这些文件,因网站权重较高百度经常访问站点。
问题原因:访问站点页面时,先输出论坛的模板格式文件等,然后再判断ID是否存在。
解决思路:访问无效ID直接屏蔽。不需要判断
解决办法在所有代码文件前文假入代码
if($_GET['tid']>10000) {
// echo $_GET['fid'];
die('停止访问');
}
if($_GET['mid']>10000) {
// echo $_GET['fid'];
die('停止访问');
}
if($_GET['fid']>25000) {
// echo $_GET['fid'];
die('停止访问');
}
保存问题解决
亳州互联网公司易天科技在此提示用户尽量不要贪图便宜选择开源模板建站,开源程序会带来很多不安全的因素,因为很多网络公司选择开源程序以后不会再给客户更新和排查bug。尽可能选择有开发能力或者强大的售后能力的公司制作站点。