如何消毒输入codeigniter 3?

soh*_* yo 3 php security codeigniter input input-sanitization

首先,我应该提醒你,我已经阅读过这篇文章和其他一些关于我的问题的帖子,但最重要的是它们已经差不多了,大约3年前.

现在我正在使用CodeIgniter 3,我想知道什么是我的数据的最佳清理过滤器,我在插入数据库之前从用户检索它们.

这是我的网站注册,我不知道什么样的用户注册,我不能相信他们.在将数据插入数据库之前,我想要清理所有输入可能会很危险我不知道input它是否足以消毒它?
请告诉我codeigniter消毒功能!

我已经在codeigniter文档中读过安全类,但我想确定.

Ale*_*tan 6

根据文件,该input课程,做以下事项:

  • 过滤GET/POST/COOKIE数组键,仅允许字母数字(和其他一些)字符.
  • 提供XSS(跨站点脚本黑客)过滤.这可以全局启用,也可以根据要求启用.
  • 和其他一些处理,但为了安全起见,这就足够了.

因此,这解决了SQL注入和XSS的问题.对于大多数用途,这就足够了.

要启用XSS保护,请使用:

$val = $this->input->post('some_data', TRUE); // last param enables XSS protection.
Run Code Online (Sandbox Code Playgroud)

此外,您可能希望了解CSRF保护.但如果您正在进行ajax调用,那么启用它会有点棘手.


偏见:尝试在真实框架中启动新项目,例如Zend,Laravel等,默认情况下,您可以更好地控制过滤和安全性.

  • 像“尝试在真正的框架中启动新项目,例如 Zend、Laravel 等”之类的评论在 StackOverflow 上是完全不合适的。请熟悉社区准则。 (2认同)