這是我與CI的第一個應用程序,我想知道$ _POST是否乾淨,我可以直接將數據插入數據庫?
我已經啓用$config['global_xss_filtering'] = TRUE;
謝謝。
這是我與CI的第一個應用程序,我想知道$ _POST是否乾淨,我可以直接將數據插入數據庫?
我已經啓用$config['global_xss_filtering'] = TRUE;
謝謝。
不,但不帶參數調用$this->input->post()將返回通過XSS過濾器傳遞的所有項目。
另外,如果你正在使用它時,ActiveRecord文檔笨規定如下:
它還允許安全查詢, 因爲值是由系統自動逃脫 。
不,因爲SQL由相當標準的字母數字字符(the documentation)組成。你至少應該鍵入你的數據並使用php的mysql_real_escape_string()
(the documentation)。
這可以防止SQL注入,而XSS過濾不會。
如果您使用CodeIgniter's Active Record訪問數據庫,那麼您不必擔心會轉義值,因爲它會爲您處理。
簡短的回答:沒有 長一點的回答:也許吧,如果你使用更安全的DB方法
如果使用參數化功能(例如:pgSQL有pg_query_params()),那麼你就不需要消毒數據,如果你連接你的SQL,那麼你只需要清理數據,這通常被認爲是次級編碼。
它看起來像的東西笨(2.0.0)的最新版本已經改變...
$this->input->post
不起作用
和$_POST
在啓用global_xss_filtering
被自動清除。
$ this-> input-> post從來沒有工作過。這是一種財產,而不是一種方法。您始終需要提供密鑰名稱,但下一個版本將允許第一個參數爲空以返回整個數組(清理)。 – 2011-03-02 01:35:09
這個答案現在是錯誤的,如果你想用XSS過濾器的所有項目做$ this-> input-> post(NULL,TRUE) – westcoast 2014-12-24 02:16:44