【问题标题】:Codeigniter 3 - XSS FilteringCodeigniter 3 - XSS 过滤
【发布时间】:2017-09-30 20:20:33
【问题描述】:

我正在使用其他人构建的代码。我在配置中看到 xss 处于活动状态:

 global_xss_filtering = TRUE

我也看到这已被弃用。我还在 Input 类中找到:

$this->_enable_xss = (config_item('global_xss_filtering') === TRUE);
is_bool($xss_clean) OR $xss_clean = $this->_enable_xss;

这意味着如果在配置中激活“global_xss_filtering”,即使我在 input->post 上关闭 xss,它也会应用 xss 过滤。

这意味着我必须在配置中关闭它并使用

$this->securit->xss_clean($this->input->post())

我的问题如下:

  1. 如果没有通过 $this->input->post('variable') 应用 XSS,使用 this 而不是 $_POST 的其他优点是什么?

  2. 在 Codeigniter 3 中进行 XSS 过滤的正确方法是什么?

提前致谢。

【问题讨论】:

    标签: codeigniter xss codeigniter-3


    【解决方案1】:

    在 Codeigniter 3 中进行 XSS 过滤的正确方法是什么?

    目前开发社区的共识似乎是 XSS 过滤应该在输出而不是输入进行。不过,输入和输出过滤器都有很强的论据和支持者。

    这是一个庞大且有些复杂的话题。在

    找到比您想知道的更多信息

    https://www.dwheeler.com/secure-programs/Secure-Programs-HOWTO/cross-site-malicious-content.html

    https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet#Introduction

    https://paragonie.com/blog/2015/06/preventing-xss-vulnerabilities-in-php-everything-you-need-know

    阅读并理解所有内容后,您可能会发现预防 XSS 需要在输入和输出过程中进行大量思考和工作。

    许多人建议不要使用 Codeigniter 的 XSS 功能,而是选择 HTML Purifier 之类的东西。

    如果没有通过 $this->input->post('variable') 应用 XSS,使用 this 而不是 $_POST 的其他优点是什么?

    使用$this->input->post('variable') 的主要优点是它会检查索引(“变量”)是否存在于$_POST 中。要直接使用$_POST,您确实应该确保数组具有该索引。

    if(isset($_POST['variable'])
    {
      // do stuff with $_POST['variable']
      ...
    }
    

    如果没有isset 测试,您将面临致命的运行时错误的风险。所以使用$this->input->post('variable') 消除了不断构建if 块的乏味

    【讨论】:

      【解决方案2】:

      在我工作两年前的项目http://conferience.com 上,我们使用(d) 到html purifier 防止xss 攻击。此外,当需要纯文本输入时,我们只需使用 php 的原生 strip_tags 方法对任何 html 字符串进行条带化。

      因此我们设置如下设置:

      $global_xss_filtering = 假

      并在$_POST['something']/$this->input->post('something') 输入上使用手动处理。

      【讨论】:

        猜你喜欢
        • 2013-12-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-25
        • 1970-01-01
        • 2011-09-18
        • 2011-04-16
        • 1970-01-01
        相关资源
        最近更新 更多