Database 如果我不逃避数据并将其插入数据库,会出现什么问题(有什么风险)?

Database 如果我不逃避数据并将其插入数据库,会出现什么问题(有什么风险)?,database,codeigniter,insert,escaping,Database,Codeigniter,Insert,Escaping,我使用的是codeigniter,在安全部分,它建议:在将数据提交到数据库或输出到浏览器之前先转义数据 如果我不能逃脱,到底会出什么问题,有什么风险 谢谢。主要威胁 如果使用的是活动记录,则在插入数据库之前不需要转义数据。不过,您仍然应该验证它 但是,如果以后在视图中回显/打印值,则应该转义以避免XSS:$this->security->XSS\u clean 全局XSS筛选已弃用,不应再使用 如果应用程序上有任何表单,还应在配置中启用CSRF保护 您可以在这里了解更多信息:您应该在Thank

我使用的是codeigniter,在安全部分,它建议:在将数据提交到数据库或输出到浏览器之前先转义数据

如果我不能逃脱,到底会出什么问题,有什么风险

谢谢。

主要威胁


如果使用的是活动记录,则在插入数据库之前不需要转义数据。不过,您仍然应该验证它

但是,如果以后在视图中回显/打印值,则应该转义以避免XSS:$this->security->XSS\u clean

全局XSS筛选已弃用,不应再使用

如果应用程序上有任何表单,还应在配置中启用CSRF保护


您可以在这里了解更多信息:

您应该在Thank You Malik问这个问题,但是我已经启用了全局xss筛选,并且我正在使用活动记录,我还需要使用$this->db->escape吗?您都很好。先读第一个答案——那个答案不正确。即使您逃避了SQL查询,您也容易受到CSRF的影响CSRF和SQL注入是两种不同且独立的威胁。第二,我真的很喜欢Codeigniter,但它有一个最糟糕的命名约定。XSS筛选不应对数据库输入进行清理。第三,如果您使用的是Active record,那么您的查询将被净化。感谢@versalle88指出了全局XSS过滤的不推荐意见。