在一些CakePHP应用程序中,您可以找到
preg_replace('/["\']/', '”', addslashes(strip_tags($thisHere)))
在http://noserub.googlecode.com/svn/branches/development/app/app_controller.php中 其中$ this-> Controller->这里以某种方式“额外保护”
a)究竟是什么/它是什么问题?它会伤害应用吗?我无法想象“或”会以任何方式伤害它。
b)它还有用吗?或者更新的蛋糕版本中已经修复了所有“可能的危险”? 如果是这样的话:是否存在可以实际测试可能问题的用例场景?
注意:在2.0中,它已移至“$ this-> request-> here” - 但仍包含当前的绝对URL(/ controller / action /..).
答案 0 :(得分:0)
我认为相关行上方的评论非常明确:
/**
* Don't you EVER remove this line else you will make the whole
* application a swiss cheese for XSS!
* We often call echo $this->here in our form actions and this would
* be exactly where the injection would take place.
*/
$this->here = preg_replace('/("|\')/', 'â€', addslashes(strip_tags($this->here)));
答案 1 :(得分:0)
似乎该方法完全没必要,因为表单助手应该自动转义。 对于所有其他用例,你应该逃避网址。
援引 http://groups.google.com/group/cake-php/browse_thread/thread/39e1024efe918e66/efb8ee0bea7bcd1