2012-01-19 43 views
0

我使用codeigniter作爲我的框架,並在我的控制器的頂部,我將添加一行代碼,它將uri_string(用戶請求的最後一頁)發送到庫,並將其發送到用戶會話並可能最終進入數據庫。CI uri_string()需要驗證?

我的問題是我是否需要驗證這個uri_string()或者它是否安全?

+0

是的,你應該驗證一切。 Codeigniter會禁止網址中的躲閃字符,如果你確保你使用的是ActiveRecord,它就會正確地轉義事物。我[今天發佈了一個答案,可能對你有用](http://stackoverflow.com/questions/8937472/creating-back-page-links-in-codeignitor/8941073#8941073)關於將以前訪問的頁面放入會話中。 –

回答

0

請注意,config.php中的'permitted_uri_chars'項會自動禁止任何包含未經允許的字符的URL。所以,只要你沒有修改過,包括潛在的惡意角色,你應該沒問題。從config.php評論:

默認情況下,只有這些被允許:AZ 0-9〜%:_-

然而,as Rooneyl mentions,它可能不會傷害任何東西反正消毒它。

+0

我還沒有編輯默認的允許的uri字符,所以我想我不會編輯......我有一個MY_Controller,我把這個放在頂部,我認爲沒有理由運行另一個驗證實例如果沒有必要的話,可以在每一頁上加載 – ngl5000

2

簡單的答案,如果有疑問驗證它。 很短的時間它會帶你編碼,你會安心。另外,如果對於所有的控制器都會發生這種情況,我可能會建議您將函數調用添加到每個控制器的構造中,或者擴展核心控制器以將調用包含在其構造中。