2012-01-26 39 views
1

如何保護我的CakePHP 1.3站點免受XSS攻擊。目前我正在使用$ this-> Form-> create來創建表單,並且我也嘗試將Components安全添加到Components數組中,但沒有取得任何成功。假設我將下面的JavaScript代碼加載到我的評論框中,該代碼一直到數據庫,如果我批准該評論,它將顯示一個按鈕,評論應該返回。如果我點擊它,一個警報框會彈出XSS警報?CakePHP 1.3:從XSS保護表單

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

如何保護我的CakePHP站點並防止類似情況發生。

謝謝,

回答

3

CakePHP不會保護你免受這種情況的影響。

安全組件可以確保您的表單沒有被篡改。

您將需要使用php內置函數,如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

謝謝,我會這樣做的... –