私はan articleとReactの書き込みウィザードで、各ステップをURLに関連付けることを検討しています。作成者はURLの「ハッシュ」部分を使用してステップを指定し、this.state.currentStep
に割り当てます。彼らはこれが危険であるとコメントしています。Javascript変数にURLハッシュパラメータ値を直接割り当てるのは危険ですか?
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
を使用していた場合にのみ危険です。
安全でない場合:どのように安全にするのですか?