CakePHP:h()与Sanitize::html()的比较

CakePHP:h()与Sanitize::html()的比较,cakephp,sanitization,Cakephp,Sanitization,CakePHP有一个名为的全局函数。对于htmlspecialchars,这是一种方便的方法。CakePHP还有一个名为的实用程序,它有一个名为的方法。以下是其部分描述: 此方法准备用户提交的数据以在HTML中显示。这 如果您不希望用户破坏您的 在HTML页面中布局或插入图像或脚本 什么时候使用?一个比另一个好吗?Sanitize::html()更通用:它允许您完全剥离html(通过remove选项),并允许您指定它如何处理报价 请参阅源代码: h(): 清理::html(): 编辑: h():

CakePHP有一个名为的全局函数。对于
htmlspecialchars
,这是一种方便的方法。CakePHP还有一个名为的实用程序,它有一个名为的方法。以下是其部分描述:

此方法准备用户提交的数据以在HTML中显示。这 如果您不希望用户破坏您的 在HTML页面中布局或插入图像或脚本

什么时候使用?一个比另一个好吗?

Sanitize::html()
更通用:它允许您完全剥离html(通过
remove
选项),并允许您指定它如何处理报价

请参阅源代码:
h()

清理::html()

编辑:
h()
:调用
htmlspecialchars()

Sanitize::html()
:调用
htmlentities()


有关差异的讨论,请参见:

实际上,
Sanitize::html()
调用
htmlentities
。必须已休眠。:)有关两个PHP函数之间的差异,请参见此问题:。两者都可以防止XSS,因此出于安全目的,任何一种都可以。只需在视图层中使用h(),如文档示例中所述: