螺螺的blog
父母一天天老去了,我要努力!

网上很多文档提到一个JS利用DOM特性作HTMLDecode的方法:

function HTMLDecode(strEncodeHTML)
{
    
var div = document.createElement('div');
    div.innerHTML 
= strEncodeHTML;
    
return div.innerText;
}

 

这个函数是不安全的,如果参数带有用户输入,就可能导致执行JS代码:

function HTMLDecode(strEncodeHTML)
{
    
var div = document.createElement('div');
    div.innerHTML 
= strEncodeHTML;
    
return div.innerText;
}

HTMLDecode(
"<img src=1 onerror=alert(1) />");


有人很傻很天真的以为,这个没有被appendChild到dom树的元素,应该不会执行。

 

posted on 2009-03-17 11:41  luoluo  阅读(5903)  评论(3编辑  收藏  举报