用户输入的 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] 关键字替换此滥用标记。