蛋糕PHP:防止XSS攻击


CakePHP : Prevent XSS attacks

我在cakephp中开发了一个应用程序,我发现的是我的应用程序中存储的XSS攻击。为了处理这种攻击,我在我的应用程序中添加了将特殊字符转换为HTML代码的Sanitizing::clean

但是,当任何经过净化的字符串在链接中使用时$this->Html->link,由于 cakephp 中的默认escape=true,该字符串会再次编码。 <转动 &:lt 导致 <而不仅仅是<

可能的解决方案是在$this->Html->link中添加escape=false,但是我已经创建了应用程序,因此存在html->link的地方太多,因此到处进行更改效率不高。

如果存在任何其他解决方案,请提供帮助?

创建一个自定义帮助程序,如 MyHtmlHelper 扩展HtmlHelper并重写 link() 方法。

在控制器中包括使用别名功能(如 public $helpers = array('Html' => array('className' => 'MyHtmlHelper'));),以便视图中的$this->Html将使用自定义帮助程序的实例,并且不必对视图文件进行任何更改。