2016-04-19 175 views
1

今天我遇到了一個非常奇怪的問題,找不到任何解決方案。我正在使用CakePHP 3以及MySQL和Apache。一切都一直工作到今天完美,但當我試圖編輯其中一個論壇帖子,它沒有保存,我得到了403 Forbidden響應。以下是響應我:CakePHP 3 Post Method'403 Forbidden'

Request URL:https://www.example.com/users/edit/2 
Request Method: POST 
Status Code:403 Forbidden 

奇怪的是,它工作正常,當我嘗試創建新的論壇帖子以及爲GET請求時,我加載編輯頁面。但是當我修改字段並嘗試保存時,我遇到了403 Forbidden

我在過去的6個小時中嘗試了所有的方法,但找不到任何解決方案。我檢查數據庫用戶的編輯權限,試圖完全刪除.htaccess文件,清除瀏覽器緩存和cookie,但沒有任何幫助。主機帳戶中的其他網站工作正常,沒有問題。

我今天做的唯一值得注意的事情是我初始化了GIT repository並在git上上傳了項目文件。我真的很感謝你在解決這個問題上的幫助。不能修改任何東西真的是頭痛的問題。

+0

你能分享你的應用程序/ Config/core.php - >'Session',同時檢查你的會話是否在請求該URL之前結束,你是否在任何地方銷燬會話? – prats1411

+0

您是否在編輯表單中包含隱藏的ID字段?無論是它還是它被安全組件玷污。 – Voycey

+0

@ prats1411我正在使用默認的php會話:'Session'=> [ 'defaults'=>'php', ]。我並沒有破壞會議。它使用默認設置進行處理。 – attacomsian

回答

1

僅供將來參考,我通過在$this->Form->create函數中明確定義請求類型POST來解決此問題。

這是我在使用CakePHP 3時遇到的最奇怪的錯誤之一!不知道爲什麼默認PUT方法不起作用。它正在轉換爲GET