[英]CakePHP : Prevent XSS attacks
我在cakephp中開發了一個應用程序,發現在應用程序中存儲了XSS攻擊。 為了處理這種攻擊,我在應用程序中添加了Sanitizing::clean
,它將特殊字符轉換為HTML代碼。
但是,當在鏈接$this->Html->link
使用任何經過凈化處理的字符串時,由於cakephp中的默認escape=true
,該字符串將再次編碼。 &lt將&amp:lt變成&lt而不是<
可能的解決方案是在$this->Html->link
添加escape=false
,但是我已經創建了該應用程序,因此html->link
存在的地方太多了,因此在任何地方進行更改都不會有效。
如果還有其他解決方案請幫助??
制作一個像MyHtmlHelper
這樣的自定義幫助MyHtmlHelper
,它擴展了HtmlHelper
並覆蓋了link()
方法。
在您的控制器中,包括使用別名功能,例如public $helpers = array('Html' => array('className' => 'MyHtmlHelper'));
因此,視圖中的$this->Html
將使用自定義幫助程序的實例,而無需在視圖文件中進行任何更改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.