2017-06-05 74 views
0

我有一個項目,我們應該使用CI在2個不同的應用程序中進行交互。我使用post方法從第一個應用程序發送請求到第二個應用程序。在我配置了csrf並使用表格測試後,我得到了輸出如何處理codeigniter中的csrf安全問題

An Error Was Encountered.The action you have requested is not allowed. 

我想知道如何處理這個問題? 和我正在使用CI v2

回答

1

嗯,我相信你已經爲CSRF做了適當的設置。如果不是,請參閱Codeigniter CSRF文檔。爲此下面是鏈接。 https://www.codeigniter.com/user_guide/libraries/security.html#cross-site-request-forgery-csrf

現在,對於API,您需要將來自CSRF的URI列入白名單。

用於該用途的這個樣子,

$config['csrf_exclude_uris'] = array('api/person/add', 'api/person/edit/[0-9]+'); 

正則表達式還支持(不區分大小寫):

$config['csrf_exclude_uris'] = array(
     'api/record/[0-9]+', 
     'api/title/[a-z]+' 
    ); 
+0

什麼是數組裏面?該網站的網址或API網址? –

+0

你的帖子的網址,除了'base_url();'這意味着如果你的網址是'http:// example.com/api/person/add'那麼就把'api/person/add' –

+0

好吧謝謝你,我會嘗試它 –