代码标志器 3 无法访问错误消息
2022-08-30 18:43:29
我在Codeigniter 3中set_rules函数
我检查用户电子邮件:
$this->form_validation->set_rules('email', 'Email', 'required|trim|xss_clean|valid_email');
当我发布时得到这个错误:
无法访问与您的字段名称电子邮件对应的错误消息。
我在Codeigniter 3中set_rules函数
我检查用户电子邮件:
$this->form_validation->set_rules('email', 'Email', 'required|trim|xss_clean|valid_email');
当我发布时得到这个错误:
无法访问与您的字段名称电子邮件对应的错误消息。
来自 codeigniter github :
关于XSS清理的一个很大程度上未知的规则是,它应该只应用于输出,而不是输入数据。
我们在自动和全局XSS清理功能中犯了这个错误(请参阅上面关于XSS的上一步),所以现在为了阻止这种做法,我们还从官方支持的表单验证规则列表中删除了“xss_clean”。
由于表单验证库通常验证输入数据,因此“xss_clean”规则根本不属于它。
如果您真的非常需要应用该规则,您现在还应该加载安全助手,其中包含xss_clean()作为常规函数,因此也可以用作验证规则。
如果,尽管有一切,你真的需要它,去应用程序/配置/自动加载.php:
$autoload['helper'] = array('security');
或者,在表单验证之前
$this->load->helper('security');
另一种方法是不使用它,因为xss_clean正在进行消毒而不是验证。xss_clean是安全助手的一部分。如果需要,请在验证后执行此操作。
$this->load->helper('security'); ` $value = $this->input->post('email',TRUE); //where TRUE enables the xss filtering
此外,您还可以在配置.php文件中启用全局 xss 筛选
$config['global_xss_filtering'] = TRUE;