我应该插入<script>还是我应该评估?</script>

时间:2013-03-28 19:21:52

标签: javascript xss eval

我在字符串中有JavaScript代码,我根据某些条件动态获取(某些用户操作的结果)。

现在我想知道我是否应该简单eval它(可以工作,测试)或者我应该在DOM中插入一个<script>,其中包含字符串的值。 XSS风险部分对我来说很清楚(脚本绝对不会使用用户输入的任何内容)。想知道由于插入<script>标签而产生的范围相关问题(如果有)。

2 个答案:

答案 0 :(得分:3)

如果您评估的代码来自可靠来源,则没有理由避免使用eval。如果它是您服务器上的数据并且不包含用户生成的代码,那么eval。 Eval并不总是邪恶的。

答案 1 :(得分:3)

制作脚本元素并在eval上插入javascript没有任何安全优势。使用eval意味着它可以访问任何局部变量,因此如果您的eval代码需要访问本地变量,则范围仅是一个问题。