SQL和安全问题

时间:2014-07-02 21:38:52

标签: sql encryption passwords

这是一个理论问题,我是SQL中的一个菜鸟,我真的没有多少经验。

首先,假设你必须为那些需要某些信息的消费者制作一个程序,这些信息来自不在本地机器中的数据库,比如说,通过互联网上的某个地方。是否可以安全地直接连接到数据库,并进行一些查询?

最令人担忧的是,我想,你正在向数据库公开用户和密码,这些用户和密码可能被截获,在程序中以及所有这些,使其对恶意查询开放。这可以通过应用程序和数据库之间的良好加密来解决吗?

本能地,我认为更好的方法是创建一个服务器应用程序来进行查询,验证信息,处理敏感信息,并使应用程序连接。

这是对的吗?

2 个答案:

答案 0 :(得分:1)

“本能地,我认为更好的方法是制作一个服务器应用程序来进行查询,验证信息,处理敏感信息,并使应用程序连接起来。”

你是对的。如果您需要最低限度的安全性,则不建议在消息中清楚地传递查询而不建议使用网络。

你刚刚提到了解决方案,主要的困难就是像你说的那样“验证信息”。有时可能会非常困难,具体取决于您想要的安全级别。

也许你应该首先看一下SQL注入:http://en.wikipedia.org/wiki/SQL_injection

答案 1 :(得分:1)

是的,你应该提供一些保护。

如果要保护登录,请使用TLS。如果可能,还要部署客户端身份验证以建立TLS连接,密码通常不是很安全。您当然也可以使用客户端身份验证密码验证(通过TLS)。

如果您不希望客户完全控制,请使用服务器应用程序。请注意,客户端应用程序完全控制客户端,因此如果您不保护服务器端,则可以轻松下载或删除整个数据库。