問題タブ [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 - Webブラウザで無害化せずにアクセスログを閲覧するのは危険なことですか?
Webブラウザで無害化せずにアクセスログを閲覧するのは危険なことですか?
アクセスログを記録したり、webブラウザで閲覧したりしようと考えているのですが、攻撃者が自分のリモートホストやユーザーエージェントなどを改変した場合、攻撃を受けることはありますか?
リモートホストやユーザーエージェントなどに攻撃コードを挿入することによって。
Webブラウザでアクセスログファイルを開く前に、htmlspecialcharでサニタイズする必要がありますか?
つまり、攻撃者がリモートホストまたはユーザーエージェントまたは何らかのウェアに攻撃コードを挿入すると、Webブラウザーを介してアクセスログが表示され、PCがそのコードに影響を受けます.
php - メール送信前にPHPでユーザー入力をサニタイズする方法は?
POST 経由で送信されたフォームから値を取得し、メールで送信する単純な PHP メーラー スクリプトがあります。
入力をサニタイズするにはどうすればよいですか?
php - ユーザー入力、PHP、Javascript、およびセキュリティ
私は、ユーザーが出発地と到着地の住所を入力し、ルートを示す地図とともに道案内表 (ターンバイターン情報を提供する) を取得する道案内サービスに取り組んでいます。
以下は、完全なソース コード ( getdirections.php ) です。
システム名でこのコードを試す場合は、getdirections.php とします。変更する必要があるのは、Google マップの API キーだけです。ここで鍵を入手できます。
キーを生成したら、 key パラメータに入れます (便宜上、以下の行を再現します):
上記のコードからわかるように、PHP を介して入力を取得し、Javascript で処理を行います。今、私は、ユーザーがどんな種類の入力 (javascript、危険な HTML など) でも逃れることを望んでいません。PHPでurlencode関数を使ってみました。ただし、エンコードされたユーザー入力は JavaScript コードによって受け入れられず、適切な入力でも失敗します。
この問題の回避策として、特定の文字を置換/削除し、ユーザーが入力を通じて Javascript コードを実行しようとする試みを阻止する filterInput 関数を PHP で作成しました。
これはうまくいきました。ただし、ユーザーが悪意のある入力を試みた場合、たとえば "+alert("hello")+" のように開始引用符と終了引用符の両方が含まれている場合、filterInput 関数は先頭と末尾の引用符を削除し、結果の文字列は次のようになります。
以下のコードが実行されると:
PHP は、以下のように関数呼び出しをその戻り値に置き換えます。
上記の行でスクリプトの実行がエラーで停止します ( missing ; before statement )
引用符をトリミングせずに $_GET['location1'] を直接使用した場合は、取得できることに注意してください。
alert("hello") が実行されます!!
だから、私は修正中です。入力をフィルタリングすると、特定のユーザー入力で JavaScript エラーが発生し、入力をフィルタリングしないと、ユーザーはあらゆる種類の JavaScript を実行できます。
私の質問は次のとおりです。
- Web で入力を処理するための適切で安全な方法は何ですか?
- この種のユーザー入力はクロス言語 (PHP から Javascript へ) で大丈夫ですか?
- ユーザーが JavaScript を実行できること以外に、このコードの脆弱性はどのような種類のセキュリティ脅威に影響されますか?
読んでくれてありがとう!!
助けてください。
sql - カスタム条件で SQL をサニタイズする
簡単な検索を作成する必要がありますが、Sphinx を使用する余裕はありません。
ここに私が書いたものがあります:
今、sanitize_sql_for_conditions は機能しません! 元の文字列を返すだけです。
このコードを書き直して、悪意のあるコードを回避するにはどうすればよいですか?
ruby-on-rails - RailsでリッチHTMLをサニタイズするにはどうすればよいですか?
Web アプリで送信された html をクリーンアップして、スタイルや閉じられていないタグがアプリのレイアウトを破壊することなく、将来再表示できるようにする方法についてのアドバイスを探しています。
私のアプリでは、リッチ HTML が YUI リッチ テキスト エディターを使用してユーザーによって送信されます。これは、デフォルトでいくつかの正規表現を実行して入力をクリーンアップします。[ を呼び出してfilter_MSWord][1]
、オフィスから送信されたがらくたをキャッチすることもできます。
バックエンドでは、ruby-tidy
コメントとして表示される前に HTML をサニタイズするために実行していますが、不適切に貼り付けられた HTML が、使用しているアプリのレイアウトに影響を与えることがあります。これを防ぐにはどうすればよいですか?
FWIWここに私が使用している消毒剤の設定があります-
他にどのようなオプションがありますか?
ruby-on-rails - Rails でインライン CSS と JavaScript を削除する
私は Rails アプリケーションに取り組んでおり、CSS または JavaScript のブロックを削除する最良の方法を知りたいです。
私はstrip_tagsヘルパーを使用してほとんどの HTML を処理していますが、コンテンツにインライン CSS が含まれていると大量の CSS が残ります。ありがとう
php - PHPによってPostgreSQLでのすべてのユーザー入力をサニタイズするには
この質問はこのスレッドに基づいています。
pg_prepareを使用する場合、明示的なサニタイズが必要ですか?
pg_prepareはユーザーの入力を自動的にサニタイズするので、これは必要ないと思います
Postgresを使用するコンテキスト
php - データをフィルター/サニタイズするタイミング: データベースの挿入前または表示前?
入力データのフィルタリングとサニタイズの問題に取り組む準備をしているので、ベスト (または最も使用されている) プラクティスがあるかどうか知りたいです。データベースにデータを挿入する前に (HTML、JavaScript などの) データをフィルター処理/サニタイズする方が良いですか、それともデータを HTML で表示する準備をしているときに行うべきですか?
いくつかのメモ:
- 私はこれをPHPで行っていますが、これに対する答えは言語に依存しないと思います。ただし、PHP に固有の推奨事項があれば、共有してください。
- これは、データベース挿入のためにデータをエスケープする問題ではありません。私はすでにそれをうまく処理しているPDOを持っています。
ありがとう!
php - PHP でユーザー HTML を許可するためのアンチ XSS メソッドは問題ありませんか?
私は、ユーザーがデータを送信するための良い方法を見つけることに取り組んでいます。この場合、HTML を許可し、できる限り安全かつ高速にします。
このサイトのすべての人が、 http://htmlpurifier.orgがここでの答えだと考えているようです。私は部分的に同意します。 htmlpurifierには、ユーザーが送信した HTML をフィルタリングするための最高のオープン ソース コードがありますが、ソリューションは非常にかさばり、トラフィックの多いサイトでのパフォーマンスには適していません。いつかそこのソリューションを使用することさえあるかもしれませんが、今のところ私の目標は、より軽量な方法を見つけることです。
私は以下の 2 つの機能を約 2 年半使用していますが、まだ問題はありませんが、ここでプロから情報を得る時が来たと思います。
最初の関数はFilterHTML($string)と呼ばれ、ユーザー データが mysql データベースに保存される前に実行されます。2 番目の関数はformat_db_value($text, $nl2br = false)と呼ばれ、ユーザーが送信したデータを表示する予定のページで使用します。
2 つの関数の下には、 http://ha.ckers.org/xss.htmlで見つけた一連の XSS コードがあり、これらの 2 つの関数でそれらを実行して、コードがどれほど効果的かを確認しました。結果、彼らは私が試したすべてのコードをブロックしましたが、明らかに 100% 安全ではないことはわかっています。
皆さん、それを見て、私のコード自体、または html フィルタリングの概念全体についてアドバイスをください。
いつかホワイトリストのアプローチをしたいと思っていますが、htmlpurifierはそのために使用する価値があるとわかった唯一のソリューションであり、前述したように、私が望むほど軽量ではありません。
以下の関数は、ユーザーが送信したコードを Web ページに表示するときに使用されます
以下のコードはha.ckers.orgからのもので、上記の機能ではすべて失敗するようです
私はそのサイトのすべての人を試したわけではありませんが、他にもたくさんありますが、これはほんの一部です.
元のコードは各セットの一番上の行にあり、関数を実行した後のコードはその下の行にあります。
java - Java で HTML Id 属性をサニタイズする関数
次の関数をコーディングしました。しかし、確かに誰かがこのタスクを実行するためのよりエレガントな方法を持っています.