【问题标题】:SQL and security issuesSQL 和安全问题
【发布时间】:2014-08-23 20:30:18
【问题描述】:

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

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

我想,最令人担忧的是,您将用户和密码暴露给了数据库,这可能会被截获、在程序中等等,从而使其容易受到恶意查询。能否通过应用程序和数据库之间的良好加密来解决此问题?

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

这对吗?

【问题讨论】:

  • 这个问题似乎是题外话,因为它是关于security 并且不包含编程问题。

标签: sql encryption passwords


【解决方案1】:

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

你是对的。如果您需要最低限度的安全性,则根本不建议在消息中明确传递查询会引发网络。

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

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

【讨论】:

    【解决方案2】:

    是的,你应该采取一些保护措施。

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

    如果您不希望您的客户拥有完全控制权,请使用服务器应用程序。请注意,客户端应用程序完全控制客户端,因此如果您不保护服务器端,很容易下载或删除整个数据库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-06
      • 1970-01-01
      • 2022-07-30
      • 1970-01-01
      • 2011-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多