Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery.html()是否危险?_Javascript_Jquery_Security - Fatal编程技术网

Javascript 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

可能重复:

jQuery.html危险吗

$("#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