Security 是否需要重新验证CodeIgniter表单中的信息?
我真的不知道该如何命名这个问题,但现在它来了。我总是使用CodeIgniter的表单验证类来验证我的表单信息。在我的申请表中,有一些表格供其他注册会员使用。例如,如果有人想在博客文章上发表评论,他们会使用该文章的表单 如果我的控制器是: class Blog extends CI_Controller { function postcomment($blog_id){ if($this->form_validation->run('comment') == FALSE){ $this->parser->parse('comment_form.tpl', $data); } else { $this->blog_post->create_comment($blog_id); } } } 类Blog扩展CI_控制器{ 功能后指令($blog\u id){ if($this->form\u validation->run('comment')==FALSE){ $this->parser->parse('comment\u form.tpl',$data); }否则{ $this->blog\u post->create\u comment($blog\u id); } } } 我的模特是 class Blog_Post extends CI_Model { function create_comment($blog_id){ $data = array( 'title' => $this->input->post('title'), 'content' => $this->input->post('content'), 'date' => time() ); $this->db->insert('blog_comments', $data); } 类Blog_Post扩展了CI_模型{ 函数create\u comment($blog\u id){ $data=数组( 'title'=>this->input->post('title'), 'content'=>this->input->post('content'), “日期”=>时间() ); $this->db->insert('blog_comments',$data); }Security 是否需要重新验证CodeIgniter表单中的信息?,security,codeigniter,validation,Security,Codeigniter,Validation,我真的不知道该如何命名这个问题,但现在它来了。我总是使用CodeIgniter的表单验证类来验证我的表单信息。在我的申请表中,有一些表格供其他注册会员使用。例如,如果有人想在博客文章上发表评论,他们会使用该文章的表单 如果我的控制器是: class Blog extends CI_Controller { function postcomment($blog_id){ if($this->form_validation->run('comment') == FA
是否需要使用preg_match、strlen、isset等在信息实际插入之前对其进行验证?这取决于您的需要,而CI的
表单验证
提供了正则表达式、唯一、最大长度、isset..等验证
如果您对此有任何自定义验证,如计算或百分比>而不是输入编号,它还提供回调
函数,根据您的需要验证总计
一些主要的验证规则是
下面是您需要完成的所有内容,即使Codeigniter已经实现了安全性
过滤数据,就像它被污染一样。(使用xss过滤)
验证数据,确保其符合正确的类型、长度、尺寸等(有时此步骤可以替代第一步)
在将数据提交到数据库之前对其进行转义
我在这里读到了这篇文章。但是如果您之前使用表单验证
插入邮寄的数据
我应该启用XSS吗
$this->input->post('any_input',TRUE)
//campos de la tabla y datos a insertar
$dataUsuario = array(
'matr_user' => 'guest-'.date("whis"),//hora-min-seg-dia
'pass_user' => $passHash,
'nom_user' => capitalizar($this->input->post('tx_nom')),
'ap_user' => capitalizar($this->input->post('tx_ap')),
'am_user' => capitalizar($this->input->post('tx_am')),
'sex_user' => $this->input->post('tx_sex'),
'nomfull' => $nom_completo,
'fnaci_user' => $this->input->post('tx_naci'),
'curp_user' => $this->input->post('tx_curp'),
'callenum_user' => capitalizar($this->input->post('tx_calle')),
'col_user' => capitalizar($this->input->post('tx_col')),
'cp_user' => $this->input->post('tx_cp'),
'ciud_user' => capitalizar($this->input->post('tx_city')),
'estad_user' => capitalizar($this->input->post('tx_estado')),
'fech_ins_user' => $this->fecha_server(),
'time_ins_user' => $this->hora_server(),
'ip_ins_user' => $this->ip_usuario(),
'operador_ins_user' => $this->session->userdata('username'),
'fech_upd_user' => '0000-00-00',
'time_upd_user' => '00:00:00',
'ip_upd_user' => '0',
'operador_upd_user' => 'sinuser'
);
//inicia transacciones
$this->db->trans_start();
//insertamos datos
//llamamos al metodo del modelo que realiza las inserciones
$consulta_idUser = $this->usuario->create_usuario($dataUsuario);