我已经听过很多关于SQL注入的内容,并且在其他主题中也阅读了很多好的答案。 所以我想确保我不易受伤害。 如果我在将所有用户输入插入我的mysql数据库之前加密所有用户输入(想用这个 - 使用openssl)会怎么样?
对于初学者避免sql注入来说,这不是一种简单安全的方法吗?
答案 0 :(得分:1)
我不建议只加密敏感数据。为了防止SQL注入,使用正确的请求和输入验证以及正确的转义序列会更有效,并且可以避免因每次数据库事务而妨碍应用程序性能的问题。大多数情况下,当您想要防止窥探时,您会对密码之类的东西使用单向加密。但是,如果你要保存信用卡之类的东西,那就明智地遵循信用卡加密的标准化安全性。加密是好的,但过度使用它可能会导致远远超过它的问题。因此,请考虑哪些数据很重要并应加密,然后考虑它应该是单向加密还是双向加密。但最重要的是验证,从不信任用户输入或应用程序请求。
答案 1 :(得分:-1)
请使用
编写存储过程,以便封装您的TSQL查询
SET DEFINE OFF将停止以防止黑客使用&注射用
尝试为SqlCommand()
如需了解有关避免注射的更多信息,请阅读SQL Injection Prevention