Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CakePHP2.5和HTML剥离_Html_Validation_Cakephp_Cakephp 2.5 - Fatal编程技术网

CakePHP2.5和HTML剥离

CakePHP2.5和HTML剥离,html,validation,cakephp,cakephp-2.5,Html,Validation,Cakephp,Cakephp 2.5,我正在使用一个最近从1.1升级到2.5的应用程序 我一直认为,带有文本框和文本区域的本机cakephp行为是从输入中剥离html标记 最近我们发现这个应用程序中没有发生这种情况 所以我的问题是。我最初的假设是否不正确,cake在默认情况下不会处理这个问题,我们需要自己明确地处理这个问题。或者有没有可能把它关掉,也许这就是这里发生的事情,我应该去哪里找到答案?做了一些搜索,包括蛋糕网站,但不断被引用到2.3中不推荐使用的蛋糕消毒实用程序 非常感谢您提供的任何帮助或指导。您指的是数据清理 在Cake

我正在使用一个最近从1.1升级到2.5的应用程序

我一直认为,带有文本框和文本区域的本机cakephp行为是从输入中剥离html标记

最近我们发现这个应用程序中没有发生这种情况

所以我的问题是。我最初的假设是否不正确,cake在默认情况下不会处理这个问题,我们需要自己明确地处理这个问题。或者有没有可能把它关掉,也许这就是这里发生的事情,我应该去哪里找到答案?做了一些搜索,包括蛋糕网站,但不断被引用到2.3中不推荐使用的蛋糕消毒实用程序

非常感谢您提供的任何帮助或指导。

您指的是数据清理

在CakePHP1.x中,它是通过一个helper类处理的

对于控制器在中接收的任何输入,数据清理从来不是自动的或默认的,但是当您更新到CakePHP 2.5时,清理助手已被删除。因此,在迁移到Cake 2.5的过程中,您必须在没有意识到的情况下删除它

它被删除的原因是因为它不安全,很容易被黑客绕过。CakePHP 1.x站点受到XSS攻击

然后才能安全地执行表单数据清理。你应该知道黑客绕过输入过滤注入不需要的数据是多么容易


如果不知道您正在清理的表单的性质,我就不可能推荐解决方案。最安全的方法是去除除标点符号以外的所有非字母数字字符。

取决于您需要查看的卫生水平。可以直接使用lib,也可以用于CakePHP。它还负责XSS

HtmlPurifier可以配置为过滤非常特定的HTML。例如,您可以允许
,但不允许除src或only id以外的任何其他属性。例如,这可能很有用: