以下是在 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/