2013-05-21 74 views
1

我用如何禁用cakephp安全性?

public function beforeFilter() { 
    parent::beforeFilter(); 
    $this->Security->validatePost = false; 
    $this->Security->csrfCheck = false; 
    $this->Security->unlockedActions = array('my_action'); 
} 

但它沒有工作,仍然報告

Security Error 
The requested address was not found on this server. 

Request blackholed due to "auth" violation. 

我記得那是正常工作,我可以張貼我的數據,但它突然停了下來。我不確定會發生什麼,並嘗試所有搜索結果,但這不起作用。如何停止CakePHP中的安全組件?

我甚至用

public function beforeFilter() { 
    parent::beforeFilter(); 
    $this->Components->disable('Security'); 
} 
+1

只需從您的控制器中刪除'public $ components = array('Security');'部件。因此,只需停止在您的應用程序中執行它即可調試問題的來源:) – Jelmer

+0

我沒有公共$ components = array('Security');在我的控制器中,我不試圖這麼做,很奇怪嗎? –

+0

這很奇怪。沒有那部分,你甚至不能使用該組件(至少,它不應該是可能的)。你能掃描你的應用程序代碼的「安全」發生?也許這有幫助? – Jelmer

回答

0

,你可以使用configuration optionSecurityComponent::validatePost嘗試是:

這裏是我只爲特定的操作定義,你可以恰克它根據自己的需要。

if(in_array($this->action,array(「some_action」))){ 
$this->Security->validatePost = false; 

}