2017-08-13 176 views
0

我一直在閱讀codeigniter中的crsf保護,但我似乎無法找到一個體面的教程,如何在配置文件中啓用csrf後繼續。CSRF Codeigniter 3驗證

我有一個控制器函數users/create生成的表單提交給另一個函數users/submit_new

我使用表單助手類,以便自動生成crsf字段。

我對提交功能此驗證功能:

if ($this->input->post(get_csrf_token_name()) == get_csrf_hash()) { 
$this->users_model->create(); } 

但我得到的是行動不準錯誤。 什麼是驗證csrf的正確方法?或者我做錯了什麼?

回答

0

如果你使用CodeIgniter的CSRF用戶指南中提到的方式,通過設置:

$config['csrf_protection'] = TRUE; // this in application/config/config.php 

而且你也使用表單助手來生成表單打開的標籤,那麼你就需要檢查對於令牌和哈希你正在做的方式。 CodeIgniter爲你做這個。

閱讀文檔:https://www.codeigniter.com/user_guide/libraries/security.html#cross-site-request-forgery-csrf

如果仍然有問題,後來看到相關的問題:

codeigniter CSRF error: "The action you have requested is not allowed."

Action you have requested is not allowed error