hsu*_*suk 0 php xss sql-injection codeigniter
以下此功能是否能够阻止XSS攻击和SQL注入?
require_once('security.class.php');
function secure_data($data) {
$data = mysql_real_escape_string($data);
$filtered_data = filter_var($data, FILTER_SANITIZE_STRING);
$secure_class = new security_class();
$clean_data = $secure_class->xss_clean($filtered_data);
return $clean_data;
}
Run Code Online (Sandbox Code Playgroud)
该安全类是笨.
你不应该试图像这样"强力"安全 - 在每一段数据上一个接一个地分层所有这些不同的过滤器/逃逸是愚蠢的,实际上可能使逃逸不能按预期工作.
这是因为为一种转义添加的字符种类可能被另一种删除.你也可能最终过度逃避.
相反,您应该使用特定于您实际尝试的转义函数:
mysqli_real_escape_string()(或者更好的是,通过MySQLi/PDO使用预准备语句).