【发布时间】:2012-09-05 06:30:42
【问题描述】:
由于通过 API 进行纯密码登录,我们最近将应用程序从 http 转移到 https。
但是,既然这样做了,我们就遇到了 Blackholes 的实际问题。尽管
$this->Security->validatePost = false;
在 AppController.php 中设置
我们使用的是 CakePHP 2.1.3 版
代码示例如下:
AppController.php:
function beforeFilter()
{
$this->Security->validatePost = false;
$this->Security->requireSecure();
}
SaleOrderController.php:
function beforeFilter()
{
parent::beforeFilter();
$this->Auth->allow('addApi'); // Allow access to the API without logging in.
}
发布到此 URL 会返回以下消息: "请求被黑洞"
一旦我们可以让它工作(没有被黑洞),我们将对其进行调整,以便在 validatePost = false 时只能执行某些操作。但是,现在我们只想让系统正常工作。
注意:对操作的“GET”请求工作正常(不是黑洞)。
我是在这里遗漏了一些简单的配置,还是有一些更深层次的问题在起作用?文档中的安全模块似乎有点少,从我的谷歌搜索来看,似乎大多数人都通过执行与我相同的步骤来避免黑洞。
【问题讨论】:
-
Cake Core 已更新至 2.2.2,但问题仍然存在。我还尝试在整个站点范围内禁用安全性: $this->Security->enabled = false;但是 https POST 请求的黑洞仍然存在。