0
我正在看an article并在React中编写向导,并且每一步都与一个URL关联。作者使用URL的“散列”部分来指定步骤,并将其分配给this.state.currentStep
。他们评论说这是不安全的。将URL哈希参数值直接分配给Javascript变量是不安全的吗?
class BasicWizard extends React.Component {
constructor() {
this.state = {
steps: []
currentStep: location.hash //obvs this is an unsafe way to do this -- this example is for conceptual purposes only
};
}
我的问题:
这是为什么不安全?我的猜测是这是一个XSS危险,但是这个输入不会被React转换为字符串吗?我看到它的方式,如果我在某处使用_dangerouslySetInnerHTML
这只会是不安全的。
如果不安全:如何安全?