这个codeigniter活动记录查询安全吗?

ktm*_*ktm 0 codeigniter

我只为我的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)

Eri*_*rik 5

代码点火器将为您正确地逃避这些值.话虽这么说,你应该使用输入类来获取你的帖子数据; 如果您在配置文件中将其设置为这样,它不仅可以自动保护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)