我只为我的ci站点使用此代码用于管理员端,这个数据库插入是否安全?
function addCategory(){
$data = array(
'name'=> $_POST['name'],
'shortdesc'=>$_POST['shortdesc'],
'longdesc' => $_POST['longdesc'],
'status'=>$_POST['status'],
'parentid' => $_POST['parentid']
);
$this->db->insert('categories', $data);
}
Run Code Online (Sandbox Code Playgroud)
代码点火器将为您正确地逃避这些值.话虽这么说,你应该使用输入类来获取你的帖子数据; 如果您在配置文件中将其设置为这样,它不仅可以自动保护vs XSS,如果未设置任何值,您将不会收到警告:
$name = $this->input->post('name');
$data = array(
'name' => $name,
... etc ...
);
Run Code Online (Sandbox Code Playgroud)
您也可以将函数调用直接放在数组中:
$data = array(
'name' => $this->input->post('name'),
... etc ...
);
Run Code Online (Sandbox Code Playgroud)
或者,如果要在POST值不存在时设置默认值:
// php 5.3+
$data = array(
'name' => $this->input->post('name') ?: 'default'
);
// older
$data = array(
'name' => $this->input->post('name') ? $this->input->post('name') : 'default'
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1015 次 |
| 最近记录: |