刚刚读过this堆栈溢出,因此让我想知道是否可以通过 CI 中的活动记录进行 SQL 注入。
在我的项目中的大多数地方,对于用户注册和用户配置文件更新,我都完成了如下 SQL 插入:
控制器 :
$name = $this->input->post('name');
$last_name = $this->input->post('last_name');
$age = $this->input->post('dob');
$user_data = array(
'name' => $name,
'last_name' => $last_name,
'age' => $age
);
$this->user_model->add_user_function($user_data);
Model:
function add_user_function($data)
{
$this->db->insert('user_table',$data);
return;
}
就像上面 SO 链接中的示例一样,我的代码是否容易受到 SQL 注入攻击?
您能否举一个具体的例子,看看是否有可能损害我的系统,如果它存在,我该如何预防。
CodeIgniter 已为您的案例提供了 2 项安全功能。
对您的用户输入进行 XSS 过滤:输入类别它的方法有第二个布尔参数,它允许您通过 XSS 过滤器运行输入,以防您没有打开全局 XSS 过滤器。
对于 SQL 注入,使用绑定查询和活动记录是安全的,它将使您免受 SQL 注入的影响,因为框架会完成转义易受攻击的用户输入的所有工作。用户报告的活动记录中存在一些漏洞,但 CodeIgnitor 团队 (EllisLabs) 在后续版本中很快修复了这些漏洞
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)