特定のページのJavascriptを無効にするHTTPヘッダーはありますか?私のウェブサイトはユーザー生成のHTMLコンテンツを配信しており(そのため、私は単に使用することはできませんhtmlenitities
)、スクリプト(JavaScriptインジェクション)を防ぎたいと思っています。
私はすでにHttpOnlyを使用しています-Cookieはメインドメインでのみ認証用に設定されていますが、ユーザーコンテンツはCookieを読み取ることができないサブドメインでのみ表示されます。問題は、JavaScriptを実行する可能性がまだ多すぎることです。たとえばonclick
、Internet Explorerのようなイベント属性を使用すると、CSSにプロパティがあり、expression
これまで聞いたことのないJavaScriptの実行()が可能になります。私が読んだもう1つの興味深いアイデアは、次のコードをブロックするために例外をスローすることでした。もう1つのアイデアは、許可されたすべてのタグと、許可された各属性名を持つ配列を含むリストを定義することですが、これは非常に大変な作業であり、すべての可能なインジェクションをカバーするわけではないと思います。
この問題を抱えているのは私だけではないと思います。少なくとも最新のブラウザでは、考えられるすべての有害なコードをカバーする可能性を誰かが知っていますか?
に似た単純な架空のヘッダーをX-Scripting: disabled
使用すると、作業が非常に簡単になります。