我想保护我的CakePHP 2.6网站免受XSS黑客攻击。我开始了解App :: uses('Sanitize','Utility'); 消毒清洁::();
我不想在我的所有控制器中写这个功能,因为我很多控制器。任何人都可以告诉我从appcontroller.php或我可以编写清理代码的任何一点清理数据的方法。
我确信必须有一个地方来验证来自xss的所有字段。
请指导我。
答案 0 :(得分:1)
在控制器上强制HTML编码不是一种适当的缓解方法。事实上,对每一个输入执行HTML编码可能会导致!另一个麻烦。
例如,假设用户的名字是O'neal。自动缓解库将更改该单引号。这意味着您要将无效名称保存到数据库中。
解决方案是输出编码。这与框架的模板引擎有关。大多数现代引擎都在强制编码危险字符,例如<或者&等