問題タブ [sanitizer]
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.
python - html5lib.sanitizer で不適切なタグを完全に削除する
ドキュメントで提案されているように、ユーザー入力をクリーンアップするために html5lib.sanitizer を使用しようとしています
問題は、悪いタグをエスケープするだけでなく、完全に削除したいことです (とにかく悪い考えのようです)。
ここのパッチで提案されている回避策は、期待どおりに機能しません ( a の内部コンテンツを保持します<tag>content</tag>
)。
具体的には、次のようなことをしたいです。
入力:
出力:
それを達成する方法についてのアイデアはありますか?BeautifulSoup を試してみましたが、うまく動作しないようです。また、lxml<p></p>
は非常に奇妙な場所 (たとえば、src 属性の周囲) にタグを挿入します。これまでのところ、html5lib は、タグをエスケープする代わりにタグを削除することができれば、この目的に最適なようです。
ruby-on-rails - XSS攻撃を防ぐために、HTMLのサニタイズの一部として、欠落している終了タグを追加する必要がありますか?
私はSanitizegemを使用して、XSS攻撃に使用される可能性のあるHTMLコードを禁止しています。副作用として、HTMLもクリーンアップされます。欠落している終了タグが追加されます。通常はこれで問題ありませんが、多くの場合、コンテンツのフォーマットが変更されます。最終的には、HTMLを完全にクリーンアップしたいのですが、XSSからサイトを保護する一環としてこれを行う必要はありません。
それで、欠落しているエンドタグ(例えば</font>
)は潜在的なXSSエクスプロイトですか?そうでない場合、SanitizerがHTMLもクリーンアップしようとするのを防ぐにはどうすればよいですか?
android - インテントの電話番号サニタイザー.ACTION_CALL
私は次の onClickListener() を持っています:
私の問題は、Webサービス呼び出しから電話番号を取得し、一部の番号がnullであることです(トーストが表示される問題はありません)。一部の番号は正常です。いくつかの例:
しかし、一部の数字は 2 in 1 になります。例:
この番号について、intent.ACTION_CALL を呼び出そうとすると、電話は次のように呼び出します。
彼は S=7 h=4 o=6 などを取るからです。
文字列から 2 つの数字を取得し、正しい数字 (ショップ/バー) を選択するインテント チューザーを作成するにはどうすればよいですか?
PS: 電話番号のリストは動的であり、Web サービスを介して実装されるため、常に変化します。
macos - OS X の Clang Address Sanitizer
Valgrind はこのプラットフォームでのメモリ チェックに問題があるため、OSX Mountain Lion で clang アドレス サニタイザーを使用したいと考えています。しかし-fsanitize=address
、コンパイル時に (このページで見られるように: http://clang.llvm.org/docs/AddressSanitizer.html )、このエラーが発生しました:clang: error: argument unused during compilation: '-fsanitize=address'
それで、私の質問は、OS X で Clang Address Sanitizer を使用する方法ですか? 使用できない場合、どのツールを使用できますか?
Xcodeでclangをダウンロードしましたが、最新です。(おそらく、このバージョンにはサニタイザーのビルドに対応していない可能性があります)
ruby-on-rails - mass_assignment_sanitizer = :strict を使用した Activerecord 正規表現検索
次の検索リクエストを実行したい
しかし、消毒剤は表現を台無しにし、私はこれを得ます:
この状態のサニタイズを強制的にスキップするにはどうすればよいですか?
static-libraries - 静的ライブラリ構成で Clang サニタイザーを使用して autotools プロジェクトを構成しますか?
編集:TLDRの場合は、一番下までスキップしてください。私が尋ねる場所:静的ライブラリを使用するようにautotoolsプロジェクトを構成するにはどうすればよいですか?
私はいくつかのオープン ソース ライブラリを使用しており、それらのテスト スイートを Clang のサニタイザーで実行しようとしています。Clang サニタイザーで実行するには、(1) いくつかのオプションを指定し、(2) 必要に応じて Clang の Compiler-RT から静的ライブラリをリンクする必要があります。注: 動的ライブラリや共有オブジェクトはありません。
オプションの設定は簡単です:
ただし、これにより、いくつかのアーカイブ警告 ( のAR
実行時) とリンク エラー ( のLD
実行時) が未定義のシンボルで生成されます。メッセージは次のようになります。
リンクする必要があるライブラリを知っています。私が使用するサニタイザーについては、libclang_rt.asan_osx.a
and libclang_rt.ubsan_osx.a
(またはLinux では and) ですlibclang_rt.full-x86_64.a
。libclang_rt.ubsan-x86_64.a
ライブラリを提供するために、次のものをエクスポートします。注: これはであり、他のほとんどの関連ツールが期待するものではLIBS
ありません。LDLIBS
make
これにより、次のconfigure
問題が発生します。
を見るとconfig.log
、2 つの問題が発生しているように見えます。/usr/local/...
まず、 からに変更することで、パスが解体され/Users/jwalton/...
ます。次に、静的ライブラリから動的ライブラリに変更することで、ファイル名が解体されています。
別の試みで、次を使用してみましたLDFLAGS
:
その結果、同様のエラーが発生します。
そしてconfig.log
:
そして、結果からlib
プレフィックスと.a
サフィックスを削除すると、次のようになります。LIBS
を追加すると、次の-l
ようになりLIBS
ます。
最後に、-L
引数は有効です。
結局のところ、静的ライブラリを使用するようにautotoolsプロジェクトを構成するにはどうすればよいですか?
おまけ: なぜこんなに簡単なことがこんなに難しくなったのか?
antixsslibrary - AntiXss と ValidateRequest ="true" が組み合わされて機能しないのはなぜですか?
アプリケーションでクロスサイドスクリプティングを回避しようとしていますが、スクリプトを含むデータをデータベースに保存する必要がありますが、同じデータを表示するときは、スクリプトとしてではなくテキストとして表示する必要があります。
ステップ1:ウェブサイトにテキストボックスがあり、以下のコードを介して挿入しようとしています
test data alert('悪意のあるコード');
ステップ 2:テキストの正確な内容をデータベースに保存しています (validateRequest が false に設定されていることに注意してください)。
ステップ 3:次に、スクリプトが実行されるべきではない Web ページのコンテンツを表示しています。
注: AntiXss と Sanitizer を使用して制限しましたが、Sanitizer を使用している場合、スクリプトは Sanitizer によって無視されます。スクリプトをテキストとして表示する解決策を教えてください (スクリプトの実行も避ける必要があります) .)
asp.net - Html Agility Pack: 辞書パラメーターを使用したシンプルな「サニタイザー」
の辞書パラメータの形状に関する情報については、検索エンジンでは十分ではありませんでした
aDictionary および anotherDictionary パラメータには何を入力する必要がありますか? 要素は何でなければなりませんか?文字列辞書の配列に文字列が必要だと思いますが、どの文字列ですか? ルールは何ですか?
信頼できるタグが < a >、< p >、< div >、および < ul >- < li > のみであると仮定します。主な目的は、html エディター エクステンダーによるインジェクションからサイトを保護することです。
御時間ありがとうございます。
java - Java サニタイズ Arraylist レコードの提案
このタスクを達成する方法のアイデアを探しています。それでは、私のプログラムがどのように機能するかから始めましょう。
私のプログラムは CSV ファイルを読み取ります。コンマで区切られたキーと値のペアです。
等
関数はファイルを受け取り、それを解析して String[] の arrayList にします。この関数は ArrayList を返します。
解析ファイルを呼び出して CSVFile を渡すコードは次のとおりです。
次に、解析されないファイル用に別の ArrayList を作成しました。
そのため、プログラムはコンマで区切られたキーと値のペアのサニタイズを続けます。したがって、まずレコードの最初のキーから始めます。例: L1234456。レコードをサニタイズできなかった場合は、現在のキーを "CouldNOtBeParsed" テキストに置き換えます。
次に、ygja-3bcb-iiiv-pppp-a8yr-c3d2-ct7v-giap-24yj-3gie など、キーと値のペアの 2 番目のキーを実行します。
問題は、両方のキーと値のペアをサニタイズする必要があることです。サニタイズできなかったキーと値のペアの別のリストと、サニタイズされたもののリストを作成して、データベースに挿入できるようにします。できないものは、ユーザーに出力されます。
レコードをループし、「CouldNotBeParsed」テキストを含むレコードを削除して、解析できるレコードだけを残すことを考えました。また、 for ループ Records.remove((i)); の間にレコードを削除しようとしました。ただし、最初のレコードをサニタイズできなかった場合は削除され、ループの次の反復ではレコード 2 がレコード 1 になるためスキップされるため、For ループが台無しになります。そのため、テキストを追加しました。
実際には、サニタイズされたレコードとサニタイズされていないレコードの 2 つのリストが必要です。
だから私はこれを行うためのより良い方法があるに違いないと考えていました。または、両方の keyValue ペアを同時にサニタイズするより良い方法、またはその性質の何か。提案?