ユーザーがサニタイズされていない html を生成できるようにするリスクは何ですか? 私は text-angular を使用しており、使用したい:
ta-unsafe-sanitizer="true"
https://github.com/fraywing/textAngular/issues/233
さて、これを読んでいる人の 99.9% は text-angular が何であるかを知らないと思うので、生の html を許可した場合の全体的な結果に主に関心があります。
ユーザーがサニタイズされていない html を生成できるようにするリスクは何ですか? 私は text-angular を使用しており、使用したい:
ta-unsafe-sanitizer="true"
https://github.com/fraywing/textAngular/issues/233
さて、これを読んでいる人の 99.9% は text-angular が何であるかを知らないと思うので、生の html を許可した場合の全体的な結果に主に関心があります。
入力のあるフォーム要素があり、ユーザーが入力に のようなものを挿入するとしますdrop table users
。脆弱なサーバー コードやセキュリティ レベルがわからないサービスがある場合、データが失われる可能性があります。さて、これは例です。同様の方法で悪いことをする方法はたくさんあります。
src
他の例は、次のようなクエリパラメーターを使用して画像にURLを挿入することです
<img
src='http://somehackingsite.com/images/lol.png?userIp="some scriptor other hacking style"' />
AngularJs は ngSanitize によってそれを解決する方法を提供します
潜在的に危険なトークンをすべて削除して、html 文字列をサニタイズします。
入力は、HTML をトークンに解析することによってサニタイズされます。すべての安全なトークン (ホワイトリストから) は、適切にエスケープされた html 文字列にシリアル化されます。これは、安全でない入力が返された文字列に入ることができないことを意味します。
属性値の URL サニタイズのためのホワイトリストは、$compileProvider の関数 aHrefSanitizationWhitelist および imgSrcSanitizationWhitelist を使用して構成されます。