使用者輸入的 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]
關鍵字替換此濫用標記。