【问题标题】:How to remove xss_clean in CI3如何在 CI3 中删除 xss_clean
【发布时间】:2016-04-12 13:42:46
【问题描述】:

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

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

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

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

【问题讨论】:

  • 向我们展示代码
  • 从任何验证规则中查找并删除所有对 xss_clean 的引用。

标签: codeigniter codeigniter-3


【解决方案1】:

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 并删除。

【讨论】:

  • $config['global_xss_filtering'] 已弃用
【解决方案2】:

xss_clean 主要用于 CI 的表单验证库。如 cmets 中所述,消除此错误的最佳方法(如果您不需要 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-19
    • 1970-01-01
    • 1970-01-01
    • 2018-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多