我正在使用 Visual Basic.net 并且有一个关于与在线数据库的 SQL 连接的问题。
如果我通过代码连接到 SQL 数据库,这个连接的安全性如何?如果我在代码中有服务器的密码和地址,用户可以计算出登录名并篡改数据库吗?
我正在使用 Visual Basic.net 并且有一个关于与在线数据库的 SQL 连接的问题。
如果我通过代码连接到 SQL 数据库,这个连接的安全性如何?如果我在代码中有服务器的密码和地址,用户可以计算出登录名并篡改数据库吗?
不久前,我编写了一个连接到我分发的 SQL 数据库的程序,在我知道 .Net 可以多么容易地被反编译之前。获取几乎完整的源代码非常容易,任何人都可以查看连接信息。即使您加密了连接字符串,如果加密/解密是作为程序中的子程序编写的,您仍然为他们提供了解密它的工具(这只会占用他们更多的时间并导致他们更加恶意) .
我解决这个问题的方法是完全锁定用户的权限,以便他们也只能查看/选择/更新我想要的区域。我限制了他们不需要的所有操作,只允许我的应用程序使用存储过程。即使有了这些,用户仍然可能会导致一些问题。
有一些称为混淆器的工具会扰乱源代码以使其更难阅读。请注意,我说得更难了,但并非不可能。
“如果我在代码中有服务器的密码和地址,用户是否可以计算出登录名并篡改数据库?”
是的 - 使用互联网上免费提供的工具,用户可以反编译您的代码并找到密码和用户名。
如果您需要存储密码,请将其存储为加密字符串,然后在连接到数据库之前对其进行解密。