私は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:....'のようなリンクで異常なことは何もしませんか?まあ、そうではありません(とにかく私のブラウザではありません)が、おそらく他の何かがあります。 ..私が知らないこと)