React服务器端渲染 - window.initialState - 如何防止XSS?

时间:2016-07-27 15:58:11

标签: javascript reactjs

我正在通过我的初始状态,如下所示做出反应

window.__INITIAL_STATE__= ${JSON.stringify(initialState)}

我没有采取任何措施来防范XSS。例如,如果用户提交的内容之一具有以下字符串。 "<script>***</script> "

这不幸地打破了html源代码中的脚本标记。它返回指定ILLEGAL TOKEN

的错误

所以我想在服务器端使用这样的东西。

${JSON.stringify(initialState).replace(/</g, '\\u003c')

它现在有效,但是在这种情况下是否有更好的方法来处理初始状态的传递?上面提供的正则表达式是否涵盖了所有潜在的漏洞?

我正在考虑通过api传递一个json对象,否则会导致问题。

1 个答案:

答案 0 :(得分:0)

this解决您的问题吗?

它的作用类似于JSON.stringify,但会自动转义危险字符