近日服務器占用率經(jīng)常占到100%,導致很多客戶網(wǎng)站受到影響。經(jīng)技術(shù)排查發(fā)現(xiàn)為某個客戶站點導致。
經(jīng)過查看服務器日志發(fā)現(xiàn),每秒有很多訪問,訪問數(shù)據(jù)統(tǒng)計為百度蜘蛛。后通過網(wǎng)站查詢相關(guān)資料說:為可能是假蜘蛛頻繁訪問導致的。
經(jīng)過站長工具真假百度蜘蛛查詢,發(fā)現(xiàn)訪問IP為百度。突然沒有解決辦法了,如果屏蔽百度訪問那么網(wǎng)站排名就沒有了,這樣得不償失。
仔細查看訪問日志,百度蜘蛛訪問的URL地址很多是不存在的URL參數(shù)。但為什么百度會一直訪問這些不存在的URL呢,事情還需要回到幾個月前
用戶站點為DZ論壇核心,是通過其他網(wǎng)絡公司制作,轉(zhuǎn)用易天科技的空間。DZ論壇自身有很多BUG 導致2019年9月-10月期間被人入侵過,入侵后把多出來很多無用頁面。而百度也已經(jīng)收錄了這些頁面如:
forum.php?mid=1147516246
portal.php?mid=94020070192
百度收錄數(shù)量上升到16萬多,而正常值只有2萬個收錄量左右。在網(wǎng)站中把這兩個文件臨時刪除后發(fā)現(xiàn)CPU恢復正常,導致問題的原因就兩個文件。原因是百度一直收錄這些文件,因網(wǎng)站權(quán)重較高百度經(jīng)常訪問站點。
問題原因:訪問站點頁面時,先輸出論壇的模板格式文件等,然后再判斷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('停止訪問');
}
保存問題解決
亳州互聯(lián)網(wǎng)公司易天科技在此提示用戶盡量不要貪圖便宜選擇開源模板建站,開源程序會帶來很多不安全的因素,因為很多網(wǎng)絡公司選擇開源程序以后不會再給客戶更新和排查bug。盡可能選擇有開發(fā)能力或者強大的售后能力的公司制作站點。