問題タブ [sanitize]
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.
php - Wordpress を使用して、入力をサニタイズする最良の方法を誰か教えてもらえますか?
Wordpress を CMS として使用してアプリケーションを開発しています。
データベースに保存する前にサニタイズする必要がある入力フィールドがたくさんあるフォームがあります。
SQL インジェクション、javascript や PHP コードのインジェクション、その他の有害なコードを防止したい。
現在、データのサニタイズには独自の方法を使用していますが、WP が使用する関数を使用する方がよいのではないかと感じています。
Wordpress でのデータ検証を見てきましたが、これらの機能をどの程度、どのような順序で使用する必要があるかわかりません。どの WP 関数を使用するのが最適か誰にもわかりますか?
現在、次のようにして入力を「サニタイズ」しています。
アクセント付きの文字 (é、ô、æ、ø、å) がおかしな方法でデータベースに格納されたので (私のテーブルは と に設定されていても)
ENGINE=InnoDB
、htmlentities を使用して、アクセントを持つことができる入力フィールドを変換しています。 ().DEFAULT CHARSET=utf8
COLLATE=utf8_danish_ci
データを入力する SQL 文字列を作成するときは、
mysql_real_escape_string()
.
しかし、これで攻撃を防ぐには十分ではないと思います。したがって、改善への提案は大歓迎です。
javascript - Rails がデータに javascript: を持つことを許可するにはどうすればよいですか
広告 html のデータベースがあり、そのうちのいくつかには Javascript 関数が含まれています。Railsで特定のモデルの特定の属性のjavascript:タグを許可する方法はありますか?
さらに明確にするために、編集フォームで html を表示できますが、送信しようとすると、ブラウザー (Firefox) は接続がリセットされたと表示します。IEでもエラーが出ます。HTML を送信できる唯一の方法は、タグから javascript: を削除することです。
私の推測では、これは Javascript インジェクションを許可しないための Rails によるセキュリティ対策ですが、これらの広告の HTML を制御することはできず、多くの広告には JavaScript が含まれています。
私の推測が本当に正しい場合、この 1 つのモデルのこの 1 つの属性のセキュリティをオーバーライドする方法はありますか? それとも、私はここで目標から外れていますか?
Ruby 1.8.7でRails 2.3.4を使用しています
ruby-on-rails - コントローラーのサニタイズのようなものはありますか?
コントローラーのサニタイズのようなものはありますか?
php - PHP FILTER_SANITIZE_URL スウェーデンのドメイン名
私は とを実験してfilter_input
おりfilter_var
、現在 で URL をサニタイズしようとしていますFILTER_SANITIZE_URL
。
テスト プログラムは、URL で構成される GET 変数から入力を取得します (例: foo.com/bar.php?a=http://www.domain.se
)。スウェーデンのドメイン名を使用しない限り、問題なく動作します。例: ( ) は、明らかに同じではないfoo.com/bar.php?a=http://www.äta.se
a = にサニタイズされます。http://www.ta.se
javascript - 出力から特殊文字を置き換える
...ブラウザのバージョンを返します。私の場合は「3.6」です。これをクラス名として使用するので、「.」を含む特殊文字を削除したいと思います。または、「-」または「_」に置き換えてすべてを小文字にします。消毒したいのが基本です。
ありがとう!
php - PHPでコンテンツをサニタイズする最良の方法は?
コンテンツを「サニタイズ」するための最良の方法はどれですか?例...
例-消毒する前に:
例-消毒後:
それが何をすべきか
- 改行のように改行する代わりにpタグを追加する必要があります。
- トリプルスペースのような空きスペースを削除する必要があります
- 二重の改行を削除する必要があります。
- タブを削除する必要があります。
- コンテンツの前にある改行とスペースを削除する必要があります。
- コンテンツの後の改行とスペースがある場合は削除する必要があります。
私がこのstr_replace
関数を使用していることを知っていますか?これに対するより良い解決策になるはずですか?
関数を次のようにしたいと思います。
ruby-on-rails - Ruby on Rails:findを使用しないときにSQLの文字列をサニタイズする方法は?
可能であれば、バグのある可能性のある独自の正規表現を手動で作成することなく、ユーザー入力を含む文字列をサニタイズしようとしていますが、それが唯一の方法である場合は、誰かが私を正しい方向に向けることができれば幸いです。何かが欠けている可能性が低い正規表現。Railsには、ネイティブSQLコマンドを入力できるメソッドがいくつかありますが、それらのユーザー入力をどのようにエスケープするのでしょうか。
私が尋ねている質問は幅広いものですが、私の特定のケースでは、Railsが私が知る限りネイティブに理解していないPostgresデータベースの列、プレーンテキスト検索情報を保持するtsvectorを使用しています。Railsは文字列のように読み書きできますが、文字列とは異なり、モデル内でvector =のようなことをすると、自動的にエスケープされないようです。
たとえば、model.name ='::'を実行すると、nameは文字列であり、正常に機能します。model.vector ='::'を実行すると、エラーが発生します。
これはセミコロンのエスケープの欠如によって引き起こされた問題のようであり、手動でvector='::'を設定できます。
私も素晴らしい考えを持っていました、多分私はちょうど次のようなものを呼ぶことができます:
ただし、この構文は機能しません。これは、生のSQLコマンドが、?を使用して文字列をエスケープおよび入力するfindのメソッドにアクセスできないためです。マーク。
これは、あらゆるタイプのユーザー入力でconnection.executeを呼び出すのと同じ問題になります。これは、すべて文字列のサニタイズに帰着するためですが、RailsのSQL文字列サニタイズメソッドを手動で呼び出す方法が見つからないようです。誰かアドバイスはありますか?
ruby-on-rails - NameError:初期化されていない定数Nokogiri :: HTML :: DocumentFragment
約3時間前、本番サーバーで上記のエラーが発生し始めました。それは消毒の宝石への呼びかけから来ています:
エラーは本番サーバー(Linux)でのみ発生し、開発マシン(Windows)では発生しません
最新の展開をロールバックしようとしましたが、修正されませんでした。
1.2.0をサニタイズするように更新しました(gem update sanitize
ホストが1.3.6を実行していることに注意しますが、これはによってダウンされた最新バージョンでした。
誰かがこれを修正するのに役立つ手がかりを提供できますか?
php - HTML リンクから PHP プログラムへの文字列を安全にエンコードして渡す
javascript を使用して html href から文字列を安全にエンコードして渡し、php プログラムへのリンクを作成するには、どのような一連の手順が必要ですか。
JavaScript で URL を設定
PHPで:
javascript - JavaScript を使用して SQL 入力をサニタイズするためのベスト プラクティス?
したがって、HTML5 によってクライアント側でローカル SQL データベースが提供されるため、選択または挿入を記述したい場合$buddski = mysql_real_escape_string($tuddski)
、PHP パーサーと MySQL ブリッジが遠く離れているため、第三者の入力をサニタイズすることができなくなります。これは、クエリを作成し、JavaScript で結果を解析する、まったく新しい SQLite の世界です。
しかし、サイト全体のデータベースがダウンすることはないかもしれませんが、悪意のあるインジェクション攻撃によってデータベースが破損または消去されたユーザーは、かなり動揺するでしょう。
では、純粋な JavaScript で、入力をエスケープ/サニタイズして、ユーザーの組み込みデータベースに大損害を与えないようにする最善の方法は何ですか?
スクリプトレット? 仕様? 誰?