【问题标题】:CI uri_string() Validation required?CI uri_string() 需要验证吗?
【发布时间】:2012-01-19 22:55:07
【问题描述】:

我使用 codeigniter 作为我的框架,并在我的控制器顶部添加一行代码,将 uri_string(用户请求的最后一页)发送到一个库,该库将把它发送到用户会话和可能最终进入数据库。

我的问题是我是否需要验证这个 uri_string() 或者它是否安全?

【问题讨论】:

  • 是的,您应该验证所有内容。 Codeigniter 无论如何都会禁止 URL 中的躲闪字符,如果您确保使用 ActiveRecord,它无论如何都会适当地转义。我posted an answer today which may be useful to you 关于将以前访问过的页面放入会话中。

标签: validation codeigniter uri


【解决方案1】:

简单的答案,如果有疑问,请验证它。 在很短的时间内,您将花时间编写代码,您将高枕无忧。

另外,如果所有控制器都发生这种情况,我建议您要么将函数调用添加到每个控制器的构造中,要么扩展核心控制器以将调用包含在其构造中。

【讨论】:

    【解决方案2】:

    请记住,config.php 中的 'permitted_uri_chars' 项将自动禁止任何包含不允许字符的 URL。所以,只要你没有修改它以包含潜在的恶意字符,你应该没问题。来自config.php的cmets:

    默认情况下只允许这些:a-z 0-9~%.:_-

    不过,as Rooneyl mentions,无论如何消毒它可能不会有任何伤害。

    【讨论】:

    • 我没有编辑默认允许的 uri 字符,所以我想我不会编辑...我有一个 MY_Controller 我把它放在顶部,我认为没有理由如果不需要正确,则在每次页面加载时运行验证类的另一个实例
    猜你喜欢
    • 2015-12-25
    • 2012-10-31
    • 2014-07-16
    • 2023-03-12
    • 2011-07-11
    • 2023-04-01
    • 1970-01-01
    • 2018-01-22
    • 2016-11-19
    相关资源
    最近更新 更多