php - CodeIgniter 中的 "repeatedly"xss-clean 数据可以吗?

标签 php codeigniter xss

以下是在 Codeigniter 中对数据进行 XSS 清理的方法:

  • 将配置中的global_xss_filtering设置为TRUE
  • 使用xss_clean()
  • 使用xss_clean 作为验证规则
  • $this->input->post('something', TRUE)中将第二个参数设置为TRUE

在一份数据上使用全部或多个是否可以?

例如,如果我仍然使用 $this->input->post('something', TRUE) 是否可以,即使数据已经被 global_xss_filtering< 清理过xss_clean 验证规则?

最佳答案

它不会伤害你,但绝对没有意义。

很有可能最终您会达到全局 XSS 过滤器变得麻烦的地步。由于它不能在没有大量黑客攻击的情况下按 Controller 禁用,并且无法访问原始 $_REQUEST data 将是不可能的,你需要全局禁用它。当您要处理单个可信数据或非 HTML 输出且必须保持完整的数据时,就会发生这种情况。

将它用作表单验证规则是毫无意义的,而且可能具有破坏性。想象一下,如果您每次输入 <script>,这个网站会是什么样子?它被替换为 [removed] ,将来无法恢复。再比如,如果用户在密码中使用了一些“XSS”内容怎么办?您的应用程序最终将默默地更改输入。

只需在您需要的地方使用 XSS 过滤器:在您的 HTML 输出上,可以执行 javascript 的地方。

关于php - CodeIgniter 中的 "repeatedly"xss-clean 数据可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9714945/

相关文章:

php - 如何使用 MySQL 查询 CI 列出数据并仅列出已发布的雇主和未过期的工作

javascript - 防止innerHTML属性中的XSS

spring-security - Spring Security 原生 XSS 过滤器

php - 防止 XSS 和 SQL 注入(inject)就像这样做一样简单

php - 斯卡拉项目 + PHP

php - allow_url_fopen 打开但 phpinfo 关闭

php - 使用 php css 文件是个坏主意吗?

php - 当用户来自书签时获取以前的 URL?

javascript - javascript 文件中的 Codeigniter( Controller )文件路径

php - 仅在一个文件中包含一个公共(public)文件失败 Codeigniter