0

ユーザーが提供したすべての入力が他のユーザーのチャット ボックスに表示されるため、ユーザーが提供した入力からすべての html およびクロス サイト スクリプティングのエクスプロイトを削除したいと考えています。

提供された入力を、データベースに挿入する前に htmlpurifier などのフィルターを介して実行する予定です。その後の各データベース読み取りでは、それをフィルター処理する必要はありません。

htmlpurifier は過剰に思えますが、クロスサイト スクリプティングのエクスプロイトが使用されないようにするために必要なのでしょうか? ただし、そのフィルターを使用しても、次のようなものを取り除く方法はわかりません。

<img src="http://example.com" />

入力から。

私がやりたいことができるツール/クラス/関数はありますか? (すべての html を削除し、XSS エクスプロイトを削除します) これはサイト全体ではなくチャットボックスのみを対象としていることを念頭に置いてください。ただし、チャットボックスには多くの同時ユーザーがいるため、高速である必要があります。

ありがとう。

4

1 に答える 1

0

これを達成する方法はいくつかあり、コードを見ずに特定の例を示すことは実際には不可能ですが、preg_matchpreg_matchpreg_filterhtmlspecailcharsなどを確認してください。これはしばらく続く可能性があるため、 php string functionsPCREを読んでください.

また、DB に投稿する場合、これを行うために事前に構築された DB ドライバーがあります。PHP データ オブジェクト、またはmysqliを調べてください 。私の意見では、物事を安全に保つのが少し簡単になる傾向があるため、PHP データ オブジェクトに集中する必要があります。

于 2013-06-23T15:14:02.047 に答える