【问题标题】:Properly clean user input正确清理用户输入
【发布时间】:2015-07-01 12:50:00
【问题描述】:

从 codeignter 3 开始,xss_clean() 函数在用户输入中被弃用,并且只应用于输出。 我查看了文档,但找不到我应该使用什么来正确清理我的输入。我在表单上使用了表单验证和 XSRF 保护,但这是否足够?

如何使用 codeigniter 正确清理用户输入?我正在使用他们的查询生成器与数据库对话,所以输入已经准备好了。

【问题讨论】:

  • XSS 不固定输入过滤,但输出转义。如果有什么你应该记录可能的尝试,而不是默默地清理它们。另见:What are the best PHP input sanitizing functions?
  • @mario 感谢您的反应,这绝对是一个很棒的话题。基本上归结为我需要使用filter_input() 函数过滤输入,并且在输出用户输入数据时必须应用htmlspecialchars()
  • 使用TRUE 作为发布数据的第二个参数。 $this->input->post('username', TRUE) CI 最好的数据过滤系统之一
  • @RejoanulAlam 但这是一个 XSS 过滤器,应该在正确输出数据时使用。

标签: php codeigniter codeigniter-3


【解决方案1】:

弃用的原因是您不应该过滤用户输入。 验证它以确保它是正确的类型或样式,但不要过滤输入。

如果您担心由于未经过滤的输入而导致的 SQL 注入,您应该使用准备好的语句查询来保护自己。

【讨论】:

    猜你喜欢
    • 2021-01-26
    • 1970-01-01
    • 2013-09-14
    • 2012-11-09
    • 1970-01-01
    • 2012-10-02
    • 2014-09-08
    • 1970-01-01
    • 2010-12-05
    相关资源
    最近更新 更多