今天在用Chrome模擬器測試網站狀況時,發現網站莫名出現廣告,截圖以下:程序員
個人第一反應,完了,網站又被攻擊了,連忙打開頁面源代碼,發現頁面HTML源代碼一切正常。api
這是怎麼回事了,通過反覆測試,在電腦端訪問 http://test1.fineui.com/ 時,一切正常,而在Chrome的手機模擬器下常常出現這個廣告,看來這個流氓是瞄準了手機端,不方便調試的問題。工具
還好我用的是模擬器,F12打開調試工具,終於給我逮個正着:測試
看着滿滿當當的加載了一堆一堆的頁面,其實只有第一個是我本身的,其餘的都是流氓!!!網站
看下Network選項卡:ui
順藤摸瓜,這第一個流氓請求是怎麼來的,我找到了它的前一個請求 common.js ,這個的確是我本身的請求:url
看來的確是被劫持了,這個正常的請求,也是個人頁面上的最後一個JavaScript引用,被劫持了:調試
1. 響應狀態是:302 Moved Temporarilyblog
2. 重定向地址是:https://k.ningmengnm.cn/api/v1/URLUPDATE_gzth/l?dT1odHRwOi8vdGVzdDEuZmluZXVpLmNvbS9yZXMvanMvY29tbW9uLmpzP3Y1LjQuMCZ1aWQ9NzgyYmNiNGQ0N2RkJmlwPTExMy4xMDkuNDMuMTI4ip
這個流氓還頗費心機,來看下這個一串亂碼的JS文件:
能夠看到,這個文件的上半部分實際上是 common.js 的完整代碼,後半部分纔是被劫持後新增的代碼。
可見,這個流氓仍是蠻心細的,爲了防止網站出現JS錯誤而顯示不了,還特地不要遺漏了網站以前的JavaScript代碼。
此次攔截涉及流氓域名的不徹底統計:
究竟是哪裏出了問題,各位程序員朋友,你有遇到這個狀況嗎?如何怎麼規避這個問題?
但願你們能獻計獻策。