Javascript jQuery.html()是否危险?
可能重复: jQuery.html危险吗Javascript jQuery.html()是否危险?,javascript,jquery,security,Javascript,Jquery,Security,可能重复: jQuery.html危险吗 $("#id").html("<span>"+ variable + "</span>"); 如上例所示,if变量的值如下: "<script> $.post("external_url.php", {sesitivedata= $("#someElement").text()}, function() {} ) </script>" 脚本会被执行吗?如果是这样的话,有没有办法允许变量包含普通的htm
$("#id").html("<span>"+ variable + "</span>");
如上例所示,if变量的值如下:
"<script> $.post("external_url.php", {sesitivedata= $("#someElement").text()}, function() {} ) </script>"
脚本会被执行吗?如果是这样的话,有没有办法允许变量包含普通的html标记而不是脚本
编辑:将脚本标记添加到字符串中是,将执行该脚本
html隐式查找任何脚本元素并对其求值。这与.innerHTML相反,它从不在html中执行脚本 是,将执行该脚本
html隐式查找任何脚本元素并对其求值。这与.innerHTML相反,它从不在html中执行脚本 $.html不执行评估。需要eval来触发脚本执行。@这就是你大错特错的原因。这非常容易测试。打开开发人员控制台并执行$'body div:last'.html$alert'ok';$。html不执行评估。需要eval来触发脚本执行。@这就是你大错特错的原因。这非常容易测试。打开开发人员控制台并执行$'body div:last'.html$alert'ok';好的,但是如何防止脚本被执行呢?你是说,实际的dom属性是什么?那么$element.html,variable?@Hoffmann我指的是属性$element.propinnerHTML、html或element.innerHTML=HTMLRight,但如何防止脚本被执行?你是说,实际的dom属性是什么?那么$element.html,variable?@Hoffmann我指的是属性$element.propannerHTML、html或element.innerHTML=html