0

当我尝试在任何应用程序中调用“安全”组件时,我网站的某些页面会崩溃。例如在 AppController 文件中,如果我将组件定义从

var $components = array('Auth','Session','Email');

var $components = array('Auth','Session','Email','Security');

我网站上依赖来自其他页面的 POST 数据的页面崩溃。我得到的只是一个空白屏幕。在 \cake\libs\controller\components 目录中定义并存储了“security.php”。

关于导致此问题或如何解决此问题的任何想法?

4

1 回答 1

0

这就是 SecurityComponent 应该做的。

它通过向所有表单添加“令牌”来保护您的应用程序,以检查表单是否“有效”并且未被篡改(例如,有人使用 javascript 在表单中添加了额外的字段或值)。

它还检查发布的表单是否来自控制器和/或允许这样做的操作(allowedControllers)

如果不满足要求,则会调用“blackHoleAction”来停止进一步的操作。

根据您对“var $components”的使用,而不是“public $components”,它认为您正在运行 Cakephp 1.3,请参阅此处的 SecurityComponent 文档:http: //book.cakephp.org/1.3/en/The-手册/核心组件/安全组件.html

阅读有关 allowedControllers 和 allowedActions 的部分

由于调试被禁用,您的脚本中的某处也可能出现不可见的错误。要启用调试,请在 core.php 配置文件中将调试级别更改为 1 或 2;

app/Config/core.php 将调试级别设置为 2,使用这一行:

Configure::write('debug', 2);
于 2013-02-04T23:08:00.193 回答