私はWebアプリを構築しており、ユーザーはHTMLコンテンツを動的に作成できます。彼らがで始まるリンクを作成できるようにすることは安全ですか(egwrt XSS攻撃)#
?
なぜそうならないのかわかりません-おそらく私はただ妄想しているだけです。#
(私のJavascriptコードは、 URLに対して特に何もしません。)
とにかく私が尋ねる理由の1つは、 HTMLをサニタイズするためにGoogleCajaのhtml-sanitizerを使用していることです。URL:sをフィルタリングしますが、デフォルトのフィルターは次のようになります。
function urlX(url) { if(/^https?:\/\//.test(url)) { return url }}
つまり、プロトコルを指定する必要があり、HTTPとHTTPSのみが許可されますが、許可されませんjavascript:
。最近、URLフィルタリング機能を次のように変更しました。
function urlX(url) {
if (/^https?:\/\//.test(url) || /^#/.test(url)) return url;
}
(つまり、#....
許可されます。)
#...
リンクが安全だと思うかどうか聞いてみるべきだと思いました。
(たとえば、ブラウザは `href ='#javascript:....'のようなリンクで異常なことは何もしませんか?まあ、そうではありません(とにかく私のブラウザではありません)が、おそらく他の何かがあります。 ..私が知らないこと)