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