2016-06-17 12 views
0

私はCakePHP 2.6のウェブサイトをXSSハッキングから保護したいと考えています。私はApp :: uses( 'Sanitize'、 'Utility')について知りました。 Sanitize :: clean();グローバルデータサニタイズユーティリティプラグインcakephp 2.6

私は多くのコントローラのため、私のすべてのコントローラにこの機能を書きたくありません。誰でも私にappcontroller.phpからのデータを害虫駆除する方法を教えてください。

xssからすべてのフィールドを検証する場所が必要です。

私をご案内ください。

答えて

1

コントローラでHTMLエンコードを強制することは、適切な緩和アプローチではありません。実際、すべての単一の入力に対してHTMLエンコードを実行すると、原因となる可能性があります。別の問題。

たとえば、ユーザーのfirstnameがO'nealであるとします。自動緩和ライブラリはその一重引用符を変更します。つまり、無効な名前をデータベースに保存しようとしています。

解決策は出力エンコーディングです。これは、フレームワークのテンプレートエンジンに関連しています。現代のエンジンのほとんどは、<または&などの危険な文字のエンコードを強制しています。