如何安全地将数据传输到服务器?

时间:2013-03-08 04:06:11

标签: php apache security ssl openssl

以下是我面临的问题:

  • A:在QT / C ++中编写的客户端应用
  • B:使用apache + php + mysql + linux
  • 的服务器

现在A想要使用RESTful接口向B发布一些私有数据,问题是:

  1. 如何确保数据传输的安全性
  2. 如何确保只有合法的客户发布数据。
  3. 我正在考虑OpenSSL,但我不知道从哪里开始,会有人给我指路吗?

    PS.My客户端应用程序可以由用户自由下载,无需注册或任何用户信息。然后用户使用我的应用程序运行测试然后发布他们的结果。最后,我想确保我的客户端应用程序发布这些结果数据,因为虚假数据可能很烦人

2 个答案:

答案 0 :(得分:0)

要安全传输数据,您需要使用SSL加密连接。首先,检查Apache documentation有关其工作原理,如何生成自签名证书以及相应地配置所有内容。如果您要搜索,也可以在网上轻松找到更简洁的说明。

第二部分取决于您的条件。如果您的应用程序在内联网等封闭环境中工作,那么您可以通过IP地址限制访问吗?否则,您需要某种授权。您可以使用内置HTTP授权。查看文档:

或在网上搜索更多说明。

如果您已经拥有一些授权系统。喜欢用户数据库。然后,您将需要实现QT / C ++应用程序将能够使用的REST API。

答案 1 :(得分:0)

Qt无需保护您的数据。您应该首先关注保护您的RDBMS。当然,您应该仔细编写Qt客户端应用程序代码,以通过检查和清理所有输入等来防止意外行为,但如果您不打算分发它,那么这不应该是您最直接的关注​​。

如果您计划将PostgreSQL用作应用程序的后端,则可以采取一些措施来降低将任何服务暴露给互联网所带来的风险。最基本的:

  • 使用适当的规则设置防火墙。仅允许来自可靠来源的入站连接。

  • 仅接受SSL连接,即使使用自签名证书也是如此。

  • 强制使用强密码。如果更多的话,请使用客户证书。

  • 将pg_hba.conf文件设置为仅接受来自已知/可信地址的连接。

git click here

上可以找到使用PostgreSQL的一个很好的例子