如何针对XSS保护CakePHP 1.3站点。目前,我正在使用$ this-> Form-> create来创建表单,并且我还尝试将Security添加到Components数组没有成功。假设我将以下javascript代码加载到我的注释框中,该代码将直通数据库,并且如果我批准该注释,它将显示一个应该返回注释的按钮。如果单击它,将弹出带有XSS Alert的警报框?
<form>
<input type="button" onclick="alert('XSS Alert?')" value="Confirmation Alert">
</form>
我该如何保护CakePHP网站并防止此类事情发生。
谢谢,
最佳答案
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