您的位置:網(wǎng)站首頁(yè) > 電器維修資料網(wǎng) > 正文 >
怎樣防止IFRAME掛馬
來(lái)源: 日期:2013-11-23 22:18:57 人氣:標(biāo)簽:
由于FF(Firefox)不怕IFRAME,于是就拿IE開(kāi)刀。只寫(xiě)了一句代碼,就搞定了。就是IE only(特有的)的CSS中的屬性expression,插進(jìn)去試試,果然那些IFRAME不起作用了。
代碼如下:
以下是引用片段:
<style type="text/css" media="all" id=www.arpun.com>
/*<![CDATA[*/
iframe{
v:expression(this.SRC=http://www.xdqywh.com/pages/zxzx/aqjs/'about:blank',this.outerHTML=''); /*使用IE Only 的樣式會(huì)除所有IFRAME*/
}
#f126{v:expression() !important} //如果要使自己的IFRAME可以執(zhí)行,在自己的IFRAME里加上ID="f126";
/*]]>*/
</style>
分析:
前綴:expression(表達(dá)式);
這個(gè)前綴是可以隨意更換的,我上面取名為"v",例如我可以換成:abc123:expression(this.src=http://www.xdqywh.com/pages/zxzx/aqjs/'about: blank',this.outerHTML=''); 掛木馬的家伙得先看你的CSS里這個(gè)前綴,然后掛馬的時(shí)候?qū)懗蛇@樣<iframe !important" src="URL"></iframe>,那個(gè)前綴一定要是和你的網(wǎng)站一樣的(abc123),才能掛到馬,哈哈哈!如果把前綴做成動(dòng)態(tài)的,就非常OK了,看你怎么掛!
優(yōu)點(diǎn):
可以解決一些站長(zhǎng)的煩惱,無(wú)須去理會(huì)人家插了多少I(mǎi)FRAME木馬,那些IFRAME都不起作用;
保護(hù)了訪(fǎng)客的安全,這些IFRAME不執(zhí)行,不下載,就不會(huì)破壞到訪(fǎng)問(wèn)的電腦(計(jì)算機(jī)(電腦));
代碼簡(jiǎn)單,僅一句CSS樣式,不管你是ASP,ASP.NET,JSP,PHP還是RUBY,都通用;
缺點(diǎn):
只適合防御目前的掛IFRAME方案;
使得人家掛馬的方式要改變了,掛馬者可以構(gòu)造這樣的代碼<iframe !important" src=http://www.xdqywh.com/pages/zxzx/aqjs/"URL"></iframe>使我的防御方式失效,不過(guò)掛馬都一定得看我的CSS里expression前面的這個(gè)"v" 字母,我可以換成任意的如:xgz:expression(...),哈哈哈,他也拿我沒(méi)辦法,再如,如果我這個(gè)前綴是變化的,是不是也行吖 *_*
不能防御其他標(biāo)記的馬,如<script>、<applet>、<object>等。
到那時(shí)候再來(lái)找我吧,呵呵~ 網(wǎng)頁(yè)里插入的IFRAME還是存在,只是不起作用了;
再加固防線(xiàn),加入以下JS代碼——其實(shí)這個(gè)代碼可以完全不用:
以下是引用片段:
<script type="text/javascript" language="javascript">
//<![CDATA[
function killfrm()
{
var xgzfrm=document.getElementsByTagName("iframe");
for(var i=0;i<xgzfrm.length;i++)//循環(huán)檢查所有IFRAME標(biāo)記,把所有IFRAME的URL都改為空白頁(yè),然后刪除IFRMAE標(biāo)記;
{
xgzfrm[i].src='about:blank';
xgzfrm[i].outerHTML='';
}
}
window.onload=killfrm;//一邊加載頁(yè)面,一邊執(zhí)行這個(gè)JS方法;
//]]>
</script>
另外轉(zhuǎn)一種解決方案——這種方案不知道管不管用,沒(méi)試過(guò),方法如下:
在網(wǎng)頁(yè) 后加入<xmp>,再用css控制它的顯示方式,如:xmp {
width:1px;
overflow:hidden;
text-overflow:clip;
white-sPACe: nowrap;
clear: none;
float: none;
line-height: 0px;
display: inline;
【看看這篇文章在百度的收錄情況】
相關(guān)文章
- 上一篇: 如何禁止網(wǎng)頁(yè)惡意代碼的入侵
- 下一篇: 防止IE主頁(yè)被惡意代碼修改