【问题标题】:how can xss filtering in codeigniter 3 still usefull?codeigniter 3中的xss过滤如何仍然有用?
【发布时间】:2016-10-01 03:04:49
【问题描述】:

您好,我想知道出于安全目的使用此参数是否仍然有用且有效。

$this->input->post('some_data', TRUE);

我不确定是否应该将所有帖子数据与第二个参数 (TRUE) 放在一起。将它用于codeigniter 3是否有优缺点,因为如果$config['global_xss_filtering'] = FALSE;被正式贬值,那么在帖子中使用第二个参数的本质是什么?

谢谢!

【问题讨论】:

  • 尝试从输入中过滤注入漏洞是不好的做法。相反,将您的数据转换为适当的形式以供各种组件使用——例如,通过使用自动对输出进行 HTML 编码的模板引擎。您现在使用的是单独的模板引擎,还是只使用内置的 <?php … ?> 一个?
  • @Ryan 使用单独的 smarty.net
  • @Ryan 我还应该使用第二个参数来增加安全性吗?
  • 可能不会。它的计算成本太高,正如@Ryan 所说,“不好的做法”。也就是说,您应该始终检查用户的输入 1. 有效性 - 数据是否符合某些条件; 2. 应按输入进行消毒。阅读 PHP 的 data filtering,然后 - 对于一些真正繁重的阅读 - 在 Data Validation 上查看此内容@
  • 您可能想看看/system/libraries/Forum_validation.php 中的验证函数。许多有价值的技术用于检查用户输入。这些技术具有超出表单验证的价值。请记住,“用户输入”还可以表示在 URL 中传递给控制器​​的参数和通过 AJAX 发送的数据。不相信外界的任何东西。

标签: php codeigniter filter xss codeigniter-3


【解决方案1】:

XSS 过滤在您使用它的意义上已被贬低。但是建议您使用

$data = $this->security->xss_clean($data);

这是用于提交,提交时使用

查看安全库。

使用 form_open 转义您的数据,但仍应使用

清理数据
'title'   => html_escape(trim($this->input->post('title')))

【讨论】:

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