問題タブ [html-sanitizing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Javascript サニタイズ: XSS html 文字列を挿入する最も安全な方法
現在、可能性のある XSS 攻撃から文字列を消去するために、jQuery ソリューションでこのメソッドを使用しています。
しかし、私はそれが十分に安全ではないと感じています。私は何かが恋しいですか?
ここで phpjs プロジェクトの htmlentities を試しました: http://phpjs.org/functions/htmlentities:425/
しかし、ちょっとバグがあり、いくつかの追加の特別なシンボルを返します. もしかして古いバージョンですか?
例えば:
プロデュース:
しかし、次のようにする必要があります。
これをJavaScriptでどのように処理していますか?
java - owasp-java-html-sanitizerを使用したリンク抽出
owasp-java-html-sanitizerを使用して、ユーザーが生成したhtmlでいくつかのタスクを実行することを計画しています。
HTML文字列からURLのリストを抽出したいと思います。
また、すべてのリンクのターゲットが「_blank」に設定されていることを確認したいと思います。これはHtmlPolicyBuilder.requireRelNofollowOnLinks
構成に似ているようです。(終わり)
これはリンクに追加target="_blank"
されますが、それを達成するための最良の方法はわかりません。
これにより、URLも抽出されます。
php - テキストが消える原因となるhtmlspecialchars
htmlspecialchars() が長さ 0 の文字列を返す原因となる特定の文字列 (完全に印刷できるわけではありませんが、以下で確認できます) に遭遇しました。これを修正する方法はありますか?
出力:
html-sanitizing - Google caja がビルドされない
ファイル html-css-sanitizer-minified.js はどこからダウンロードできますか? 自分で caja をビルドするよりも、ファイルをダウンロードしたいと思います。理由: caja をビルドしようとしたところ、以下のエラーが発生しました。手がかりはありますか?
ありがとうございました
python - 'list'オブジェクトにはPythonのBeautifulSouprenderContentsの属性'items'がありません
入力から不要な/安全でないタグと属性を削除するために、次のコードを使用しています(ほぼ完全にhttp://djangosnippets.org/snippets/1655/による):
これは、不要なタグまたはホワイトリストに登録されたタグ、ホワイトリストに登録されていない属性、さらには不適切な形式のhtmlに適しています。ただし、ホワイトリストに登録された属性が存在する場合は、
最後の行で、それは私をあまり助けていません。type(soup)
エラーが<class 'bs4.BeautifulSoup'>
発生するかどうかなので、何を指しているのかわかりません。
ruby-on-rails-3 - Rails3送信タグ+html_safe
このコード行の何が問題になっていますか?
これは文字通り以下を生成します:
明らかに、私のhtml_safe呼び出しは何もしていません。
バックグラウンド:
私はTwitterBootstrapとFontAwesomeを使用しており、基本的に、内部にアイコンが付いた送信ボタンを実現しようとしています。
firefox - リモートHTMLを安全に使用する
サーバーからFirefoxアドオンに送信されるHTMLをparseHTML
、Mozillaアドオンレビューアによって呼び出される関数を介して渡すように求められました。問題の方法は、このXULスクールチュートリアルに記載されています。
ただし、私のコンテンツスクリプトではtypeof parseHTML == "undefined"
。これは、私のアドオンがXULではなくアドオンSDKを使用して構築されているためだと思います。
SDKで構築されたアドオンがこのメソッドにアクセスできないのは正しいですか?SDKに同等の方法はありますか?
ruby - 2 つの文字列間のすべてをキャプチャする Ruby 正規表現 (包括的)
私はいくつかの HTML をサニタイズして、単一のタグを削除しようとしています (そして、nokogiri などの使用を本当に避けたいと思っています)。したがって、次の文字列が表示されます。削除したいのは次のとおりです。
これは私の文字列に 1 回だけ表示されます。これを削除する方法を見つけたいと思います。すべてをキャプチャする正規表現を考え出そうとしましたが、うまくいくものを見つけることができません。
私は試してみまし/<div class="the_class">(.*)<\/div>/m
たが、それは機能しますが、ドキュメント内のそれ以上のタグも含めて一致しますが</div>
、これは望ましくありません。
これにアプローチする方法についてのアイデアはありますか?
php - `NAME` 属性が安全でないと見なされるのはなぜですか?
ユーザーが生成した HTML をデータベースに渡し、悪意のあるコードが通過しないようにしています。私が行っている手順の 1 つは、渡されたコードを pear のHTML_Safeクラスを介して実行し、脆弱なマークアップを削除することです。ただし、私が気づいたことの 1 つはname
、送信された要素の属性が削除されることです。案の定、ソース コードを見ると、name
デフォルトでブラックリストに登録されている数少ない属性の 1 つです。
http://pear.php.net/package/HTML_Safe/docs/latest/HTML_Safe/HTML_Safe.html#var$attributes
ユーザーが値を渡すことを許可することの危険性は何name
ですか? name
悪意のある目的のために価値をどのように使用できますか? 何かご意見は?そうでない場合は、ブラックリストを変更したくなります。