使用者輸入的 XSS 預防

不要依賴任何使用者輸入。使用者輸入像 <script> 標籤或任何 javascript alert(); 的所有內容,因此我們必須防止所有資料都不會在我們的瀏覽器中執行。所以我們必須使用 xss 預防方法來限制我們的安全資料以保留在黑客手中,並且開發人員負責使用者的輸入驗證並通過程式設計方式解決錯誤。

所以,檢查這是 CodeIgniter 中 xss 預防的一個例子。

$data = array(
            'name' => "<script>alert('abc')</script>",
            'email' => "useremail@gmail.com"
        );
var_dump($data);
// Print array without xss cleaning/xss filtering

array(2) { ["name"]=> string(29) "" ["email"]=> string(19) "useremail@gmail.com" } // Result with alert

// now print data after xss filtering

$data = $this->security->xss_clean($data);
var_dump($data);

//Print array without xss cleaning/xss filtering
array(2) { ["name"]=> string(38) "[removed]alert('abc')[removed]" ["email"]=> string(19) "useremail@gmail.com" } // Result Without alert

所以,在新增 xss_filtering 之後,我們沒有任何問題來執行使用者輸入的任何濫用程式碼。和 CodeIgniter 使用 [removed] 關鍵字替換此濫用標記。