0

私は現在CodeIgniterフレームワークを使用しており、HTMLPurifier(http://htmlpurifier.org/)を使用してXSS保護を強化しようとしています。

データベースに挿入する前にデータを浄化するために、投稿時にデータを「クリーン」にしたいという私の理解は正しいですか?または、ビューに表示する前に実行しますか?

もしそうなら、私は行われるすべての投稿でHTMLPurifierを実行したいですか?アプリには多くのフォームが含まれているので、クリーンアップするものとしないものを選択的に選択する必要はありません-すべての投稿をインターセプトできると仮定すると、これは進むべき道ですか?もちろん、とにかくいくつかのフィールドを検証します(メールアドレス、数値など)

4

1 に答える 1

0

$this->input->post()データを取得するために使用し$_POSTます。グローバル xss フィルターが true に設定されている場合、Codeigniter は自動的にフィルター処理します。

ドキュメントを参照してください: http://codeigniter.com/user_guide/libraries/input.html


編集:明確にする

はい、DB に挿入する前にフィルタリングする必要があります。はい、すべてのユーザー入力をフィルタリングする必要があります。

http://www.google.com/search?q=codeigniter+htmlpurifierという簡単な Google 検索で、次のページにたどり着きました: http://codeigniter.com/wiki/htmlpurifierは、htmlpurifier のヘルパーです。すべての $_POST データをキャッチすることに関して: データを使って何かをする必要がありますよね? あなたのモデルでは、何かをしているときは、purify() をそのプロセスの一部にするだけです:

$postdata = purify($_POST); 
于 2011-10-15T00:06:27.797 に答える