2012-01-26 17 views
1

XSSに対してCakePHP 1.3サイトをセキュリティで保護する方法を教えてください。現在、フォームを作成するために$ this-> Form-> createを使用していますが、コンポーネント配列にセキュリティを追加することもできませんでした。私は、コメントボックスに次のJavaScriptコードをロードし、そのコードはデータベース全体に渡り、そのコメントを承認するとコメントが返されるはずのボタンが表示されます。それをクリックすると、アラートボックスにXSS Alertがポップアップ表示されますか?CakePHP 1.3:XSSからのフォームを保護

<form> 
    <input type="button" onclick="alert('XSS Alert?')" value="Confirmation Alert"> 
</form> 

どのように私は自分のCakePHPサイトを保護して、そこから起こることを防ぐことができますか?

おかげで、

答えて

3

CakePHPはそれに対してあなたを保護しません。

セキュリティコンポーネントは、フォームが改ざんされていないことを確認するためのものです。

htmlentities()やCakePHP Sanitizeクラスなどの組み込み関数を使用する必要があります。

元のデータを保持する場合は、beforeSave、BeforeValidateコールバック、またはビューレベルで行うことができます。

http://book.cakephp.org/1.3/en/view/1185/html

http://ca.php.net/manual/en/function.htmlentities.php

+0

私は 'edit'と' add'のような保護を必要と感じ、私のコントローラの機能にサニタイズ::クリーンを使用することができました。私はXSSを使って行ったすべてのテストが合格したので、私のためにやっているようです。私はそれ以上の問題はなかった。それで十分だと思いますか? –

+0

十分なはずですが、データ操作はモデル内で行われるべきです。 –

+0

ありがとう、私はそれを行います... –

関連する問題