对功能使用eval()时XSS问题的建议/解决方法

时间:2019-01-07 12:24:30

标签: javascript html xss

我正在解决一个问题,在这个问题上,我们必须防止对允许用户创建自己的页面视图的功能进行XSS攻击。用户可以编写块处理条件,并根据评估结果来渲染块。我们遇到的问题是,当用户以字符串形式传递条件时,eval函数将接受并执行JS中的条件,从而吸引XSS攻击。我想了解是否有一种变通方法来处理脚本评估时不执行的恶意代码?

HTML (take inputs and store in DB)
Condition: <input type="text" name="evalCondition">

JS (while rendering)
let shouldVisible = eval(evalCondition); // based on value of 'shouldVisible' the block will be rendered

因此,如果我保存“ alert(1)”,它将在加载该自定义页面后发出警报。 如果要求条件检查功能仅接受字符串输入,该如何处理?任何帮助表示赞赏。预先感谢。

0 个答案:

没有答案
相关问题