数据库数据加密,SQL 注入和 Intranet

DB Data Encrypting, SQL injection and Intranet

快速提问:

当您正在处理仅在本地 Intranet 上提供的代码并且只有两名员工(非编码人员)在工作时,是否值得花费额外的时间和精力来加密 Dbase 数据并防止 SQL 注入授权使用它?

这不是一个或两个用户的问题,而是基本的理智。您不需要加密完整数据,只需加密用户凭据等敏感数据。其次,对于 sql 注入,您必须使用其非常少的代码行,而不是使用准备好的语句进行查询的普通语句。我在这里看不到任何障碍。

如果您以正常格式存储数据,任何有权访问数据库的人都可以检索操作员凭据,任何有权访问的人都可以使用 sql 注入来破坏用户数据。

简答 - 是的。

攻击者寻找弱 link,而您不希望您的应用程序是弱 link。例如,如果您不在数据库中加密用户凭据并且不防范 SQL 注入,则可以进入您的内部网络的攻击者可以轻松窃取您的用户凭据;如果他们重复使用了密码,这意味着攻击者现在可以使用从您的 "weak" 系统中窃取的凭据来访问更 "stronger" 的系统。

此外 - 这就是我们现在构建网络应用程序的方式;您使用的任何框架都几乎可以减少额外的工作量 - 可以说, 做这些事情比在 Rails 上使用 Ruby 这样的工具做这些事情更费力, Zend 框架等