2013-04-21 38 views
2

我有表單字段我正在使用正確的表單輸入環衛

var dataString = $("form").serialize(); 

我然後發送該到我的控制器的dataType「HTML」

後續代碼var_dump我dataString長相我收集形式像這樣的(到目前爲止,但它會包含電子郵件地址,請選擇選項等)

array(3) { 
    ["username"]=> 
    string(5) "mikey" 
    ["firstname"]=> 
    string(4) "tes%" 
    ["lastname"]=> 
    string(6) "tester" } 

我的問題是:什麼是之前我發我應該使用表格衛生的正確方法數據到我的模型?我知道我需要去除特殊字符之類的東西,我是否應該使用一些預先包裝的類?

我需要打破我的數據像

$username = trim(Array[0]) ; 
+0

你的問題的標題是有關驗證啓用XSS過濾,但關於禁制的身體會談。這是什麼?您是否希望在輸入信息離開客戶端之前或者一旦他們看到您的視圖,但在模型之前對它們進行清理和/或驗證? – 2013-04-21 02:48:33

+0

@melBoyce對不起,這是關於衛生讓我有點困惑。 – Undermine2k 2013-04-21 02:51:37

+0

「我知道我需要去掉特殊字符」---爲了什麼?嘗試在此輸入任何「特殊」字符 - 他們是否剝離任何東西? – zerkms 2013-04-21 02:53:40

回答

1

application/config/config.php

$config['global_xss_filtering'] = TRUE; 
1

CodeIgniter的xss_clean功能應該足以滿足大多數的目的。

編輯:感謝@ Starx的回答,指出您可以通過在config.php文件中設置$config['global_xss_filtering'] = TRUE;來自動調用此功能。

還檢查了窗體驗證類。這裏有一個例子: http://ellislab.com/codeigniter/user-guide/libraries/form_validation.html#preppingdata

此外,因爲您是通過AJAX發送表單數據我只是想提一提,在Javascript中做輸入檢查是相當無用的,因爲它可以繞過它,這樣它的服務器 - 方面,因爲看起來你打算做無論如何,肯定是要走的路。