問題タブ [sanitization]

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.

0 投票する
3 に答える
6266 参照

cakephp - CakePHPでサニタイズを行うタイミング

クックブックから読みました(4.2節)

CakePHPは、生のSQLの代わりにCakePHPのORMメソッド(find()やsave()など)と適切な配列表記(つまり、array('field' => $ value))を使用する場合、SQLインジェクションから既に保護されています。XSSに対するサニタイズの場合、一般に、生のHTMLを変更せずにデータベースに保存し、出力/表示時にサニタイズする方が適切です。

したがって、find()やsave()などのメソッドに制限する場合、SQLに対してユーザーデータを手動でサニタイズする必要はありませんか?特に、$ this->dataからではなく$_POSTから直接データを取得する場合、これは本当ですか?言い換えると、$ this-> dataを使用してfind()クエリを実行するとします。次に、CakePHPは、配列$ this-> dataを書き込むとき、またはfind()のクエリを書き込むときに、SQLに対してサニタイズしますか?

2番目の質問は、表示するデータをサニタイズすることです。Sanitize :: htmlはべき等ですか?それで、beforeSave()メソッドでそれを使用できますか、それとも、再度適用されて新しい結果が得られるため、2回目に保存すると壊れますか?

0 投票する
1 に答える
761 参照

ruby-on-rails - vimeo 埋め込みコードをサニタイズする

これがvimeoのURLコードです。

これはRailsドキュメントの例です

ビデオを表示したいだけで、高さ、幅、タイトルなどはありません。過去20分間変更しようとしましたが、うまくいきませんでした。

助言がありますか?

0 投票する
2 に答える
960 参照

java - モデル レベルで HTML を含む文字列フィールドをサニタイズするにはどうすればよいですか?

Spring、JPA (Hibernate)、および Java 検証フレームワーク (Hibernate Validator) を使用するアプリがあります。HTML を含めることが許可されているドメイン モデルのフィールドに注釈を付け、コミット時に自動的にサニタイズできるようにしたいと考えています。これを行う賢い方法を知っている人はいますか?

検証フレームワークを使用してみましたが、これは検証時のフィールドの値の変更をサポートしていません。ハッキングして何かを機能させることはできますが、よりクリーンなソリューションを望んでいます。

0 投票する
2 に答える
406 参照

php - HTMLと句読点を組み合わせてユーザー入力を処理するにはどうすればよいですか?

HTMLとテキストが混在するフォームフィールドがあります。ユーザーが基本的なHTMLと句読点を使用できるようにしたいと思います。

現在、mysql_real_escape_stringpreg_replaceを使用してデータをサニタイズし、データベースに挿入しています。私の理解では、preg_replaceは、許可された文字のホワイトリストにない文字を削除する最良の方法であり、mysql_real_escape_stringはSQLインジェクションから保護します。

ただし、ハッシュ文字を使用すると壊れ続けます。

私の質問は次のとおりです。

1)これを行うためのより効率的な方法はありますか?

2)これが最善の方法である場合、私は何を間違っていますか?

許可する必要のある文字は次のとおりです。すべての英数字と:

?!@#$%&()-。、:; '"<> / + =

ありがとう!

0 投票する
3 に答える
1619 参照

ruby-on-rails - Rails Sanitize: 安全 + 埋め込みの許可

ユーザーがビデオ、スライド共有などを埋め込むことができるようにするユーザー生成コンテンツ サイトを構築しています。十分な量の埋め込み可能なコンテンツ/html フォーマットを許可しながら、かなり優れたセキュリティ?

0 投票する
3 に答える
1173 参照

python - 安全な Python マークダウン ライブラリ

おそらくマークダウンを使用して、ユーザーがリッチテキストのコメントを残せるようにしたいと考えています。Reddit で使用されているライブラリをインストールしましたが、昨年発生した JavaScript インジェクション攻撃については、特に攻撃の詳細がまだはっきりしていないため、懸念されています。コメントのセキュリティについて心配する必要はありますか? reddit をダウンさせたのと同じ欠陥をチェックするためにシステムに入れることができるテスト文字列はありますか?

0 投票する
5 に答える
1821 参照

php - PHP でのユーザー指定の正規表現のサニタイズ

ユーザーが正規表現をテストできる Web サイトを作成したいと考えています (既に多数の表現が存在します...たとえば、http://www.pagecolumn.com/tool/pregtest.htm )。基本的に、ユーザーは正規表現といくつかのサンプル テキストを提供し、正規表現評価の結果が返されます。

PHP "preg_*" 関数を使用して、サーバー側で正規表現を評価したいと考えています。提供された正規表現をサニタイズする方法はありますか? 懸念すべきセキュリティの脆弱性は何ですか?

0 投票する
4 に答える
383 参照

php - PHP: 表示される情報のセキュリティのベスト プラクティスは?

PHP では、パラメーター化されたクエリを使用することが SQL インジェクションを防ぐ最善の方法であることを知っています。

しかし、次のような他の目的に使用されるユーザー入力のサニタイズについてはどうでしょうか。

  • ユーザーへの表示 (潜在的なクロスサイト スクリプティング ベクトル)
  • 電子メールのアドレス指定またはメッセージ本文への入力

htmlentities()データベース以外での使用をサニタイズする最善の方法はありますか? ここでベストプラクティスと見なされるものは何ですか?

0 投票する
1 に答える
2433 参照

sql - 入力衛生のベストプラクティス

私たちのチームは最近、データベースのロジックとデータレイヤーに取り組んでいます。データレイヤーにEntityまたはLinqtoSQLを使用することは承認されていません。それは主に手作業で作られました。SQLの多くは自動生成されます。これの明らかな低下は、取得と挿入の前に入力をサニタイズする必要があることです。

これを行うための最良の方法は何ですか?挿入、削除などの用語を検索することは、これを達成するための悪い方法のようです。より良い代替案はありますか?

0 投票する
1 に答える
626 参照

ruby-on-rails - simple_format 使用時にビューに表示するための入力のサニタイズ

改行やリンクが表示されるようにコメントを表示する正しい方法を見つけようとしています。通常、h() で html をエスケープする場合にのみユーザー入力を表示する必要があることはわかっています。もちろん改行やリンクは表示されないので、simple_format と auto_link メソッドを見つけました。

私が今やっていることは: simple_format(santize(auto_link(comment.text)))

これはこれを行う正しい方法ですか? XSS 攻撃からまだ安全ですか?

ありがとう!エリック