辛辛苦苦做的網站突然被掛馬,究其原因是因為網頁帶病毒,開啟代碼發現所有的頁面的代碼最後一行都多了一句:
< IFRAME src="http://www.xxx.xxx ">< /IFRAME >
開啟引用頁面一看防毒軟體一頓亂響,找到元兇了這可怎辦?
最後一行怎麼弄都不行?!!
其實很簡單我們只需要在 < STYLE >< / STYLE > 之間加上一句
iframe{v:expression(this.src="/about:blank",this.outerHTML='');}
就可以了其實這是用了CSS樣式表來對網頁中所有的FRAME對象進行"洗腦"把iframe中的src屬性的值換成空白頁這樣加進去的iFRAME 代碼就不起作用了。
但是要是網頁本身就帶有iframe標籤怎麼辦?其實還有一種方法同樣是使用CSS樣式表來防範我們這次需要在 之間加上一大段:
xmp {
width:1px;
overflow:hidden;
text-overflow:clip;
white-space: nowrap;
clear: none;
float: none;
line-height: 0px;
display: inline;
}
然後在網頁的最後一行加上一個標籤< XMP >這樣也同樣能是加在網頁最後一行的iframe失效。
原來CSS除了好看還能幹點別的:-)
另外除了上面兩種方法以外我們還可以在所有asp檔案的最後一行加上
< % response.end() % >
讓指令碼運行到這裡就停止運行不論後面再寫什麼東西。
說到這裡有人可能會想一個網站那麼多檔案呢你怎麼在所有的檔案後面都加上
< % response.end() % >
其實可以用dos的bat指令碼來解決可以寫成
echo ^<^%response.end()^%^> >>X.asp
簡單解釋一下在dos中<、>和%都是類似C語言裡面的系統關鍵字有自己特定的含有因此需要在前面加上^讓dos把它們當成字元處理而後面的 >>則表示追加到檔案的最後一行,先這樣一個檔案的問題就解決。
再來解決一堆檔案的問題,用dos下的for命令來完成,這種方法我記不清楚了,就說個大家都能弄得出來的,用試算表來產生一個bat檔案,然後用dir/b *.asp獲得當前檔案夾下的所有asp檔案名稱,把結果複製到excel表格的第6列
第五列寫上>>
第四列放一個空列
第三列放^<^%response.end()^%^>
第二列也放一個空列在第一列放echo然後將前五列選中向下填充
最後全選,複製到bat檔案中儲存bat檔案在網頁目錄下雙擊就全都加上了:-)
可能還有簡單的方法
其實這隻是治標的辦法要治本還有找到真正的“馬”那就需要大家的眼力了看看網頁目錄裡面有沒有異常的檔案——副檔名異常。
比如在一大堆的asp檔案裡面突然多了一個php的檔案或者有一個jsp又或者有一個asa檔案那你就危險了!那個檔案就很有可能就是一匹是真正的“馬”了。