我在 cakephp 中开发了一个应用程序,我发现我的应用程序中存储了 XSS 攻击。为了处理这种攻击,我Sanitizing::clean
在我的应用程序中添加了将特殊字符转换为 HTML 代码的方法。
但是,当在链接中使用任何经过清理的字符串时,由于cakephp$this->Html->link
中的默认值,该字符串会再次被编码。escape=true
< 变成 &:lt 导致 < 而不仅仅是 <
可能的解决方案是添加escape=false
,$this->Html->link
但我已经创建了应用程序,所以存在的地方太多了,html->link
所以到处去改变是没有效率的。
如果有任何其他解决方案存在,请帮助?