如何在 CI3 中删除 xss_clean

How to remove xss_clean in CI3

我是 CI 的新手,刚刚更新了一个由第 3 方开发人员开发的旧应用程序,当我尝试创建任何新记录时,我收到以下错误:

Unable to access an error message corresponding to your field name `Field Name` .(xss_clean)

我已经阅读了很多关于如何让它工作的问题和答案,但是,我也读到这是一种不好的做法,因此我想完全摆脱 xss_clean,但我就是做不到似乎找到了有关如何操作的直接信息。

非常感谢任何帮助或指导。

xss_clean 主要与 CI 的表单验证库一起使用。如评论中所述,消除此错误的最佳方法(如果您不需要 xss_clean 的功能)是从验证规则中删除 xss_clean 的所有实例。

您可以在应用中找到 xss_clean 的示例:

$this->form_validation->set_rules('username', 'Username', 'trim|required|min_length[5]|max_length[12]|xss_clean');

codeigniter form validation documentation

xss_clean 不再是表单验证的一部分。另一种方法是不使用它,因为 xss_clean 正在进行清理而不是验证。

xss_clean 是安全助手的一部分。如果您需要这样做,请在验证后执行:

$this->load->helper('security');
$value = $this->input->post('formvalue', TRUE); 
// ...where TRUE enables the xss filtering

...我觉得...

此外,您可以在 config.php 文件中启用全局 xss 过滤:

$config['global_xss_filtering'] = TRUE;

或者,如果您想删除,则必须找到验证中使用的所有 xss_clean 并删除。