0

ユーザーがいくつかのマークアップオプションを使用して情報を入力できるように、CKEditor (WYSIWIG) を使用してテキストエリアをセットアップしました。ただし、潜在的なハッカーがこの機能を悪用して悪意のあるコードを入力するのを阻止する必要があります。

許可されたタグの配列を使用して、PHPs strip_tags() を使用したくないタグを取り除くことができます: http://php.net/manual/en/function.strip-tags.php

ただし、許可されたリストにある HTML タグに攻撃者が単純に追加するなどonloadの可能性は依然として残っています。onclick

では、この種の問題をチェックするための最良の選択肢は何でしょうか?

私が最初に考えたのは、これらの JavaScript 関数のブラックリスト配列を作成し、入力されたデータ内でそれらの関数が発生するかどうかを確認することでした。

それはそれを行う良い方法のように聞こえますか、それともより良い代替手段はありますか?

4

1 に答える 1

2

http://htmlpurifier.org/のようなより堅牢なツールを使用してください

入力をサニタイズし、許可された属性、タグを追加できます。よりコントロールできるようになります。

ブラックリストではなく、ホワイトリストを作成することを強くお勧めします。ブラックリストを使用すると、危険な属性をスキップできますが、ホワイトリストを使用すると、必要なものを許可できます。

于 2012-05-25T09:55:02.150 に答える