10
私は1ページのwebappで作業しています。私はDOMノードを直接作成してレンダリングを行っています。特に、document.createTextNode("user data")
のテキストノードを作成することによって、ユーザーが入力したすべてのデータがページに追加されます。createTextNodeはHTMLインジェクションとXSSから完全に安全ですか?
このアプローチは、HTML注入、クロスサイトスクリプティング(XSS)、およびユーザーが行う可能性のあるその他の悪い事態を回避しますか?
私はPHPに精通していません。この例では、ユーザーが他の場所からデータを要求し、ページにテキストとして挿入することができますか? –
@breischl - PHPはURLのクエリ文字列(外部データ)から入力を取り出し、エスケープせずに出力にドロップします。 – Quentin
しかし、それが何であっても、プレーンテキストとして出力されるでしょう。だから、テキストを表示する以外に、ブラウザに何かをさせることはできませんでしたか? –