gpt4 book ai didi

c++ - 通过桌面应用程序/安全查询数据库

转载 作者:搜寻专家 更新时间:2023-10-30 20:05:05 25 4
gpt4 key购买 nike

我打算使用 Qt 框架编写一个桌面应用程序,然后应该向公众发布。但我担心这种方法的安全性。

我通常用 PHP 编写代码,因此我知道 SQL 注入(inject)和任何与使任何查询安全相关的数据库,但我遇到了一个我以前从未遇到过的问题:桌面应用程序发送查询来自客户端 因此,据我所知,对服务器的安全性不如服务器对服务器 (PHP)。

主要的安全风险是什么,Qt 如何防止它们或我如何通过特定的编码技术来防止它们?

抱歉,我不能说得更具体,但我在桌面应用程序领域并没有真正的经验。

最佳答案

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

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

  • 设置具有适当规则的防火墙。仅允许来自可信来源的入站连接。
  • 仅接受 SSL 连接,即使使用自签名证书也是如此。
  • 强制使用强密码。如果更合适,请使用客户端证书。
  • 将您的 pg_hba.conf 文件设置为仅接受来自已知/可信地址的连接。

Debian/Ubuntu 有优秀的 PostgreSQL 包。安装后,您可以轻松设置 PG 以允许 SSL 连接,而无需手动生成证书。

相关 PostgreSQL 文档:

如果您愿意,我可以为您提供一个非常基本的示例 Qt 应用程序(未完成),该示例旨在与 PostgreSQL 一起使用。请告诉我。

编辑:将示例应用程序上传到 GitHub:exampleapp .试图整理,但仍然有很多最初用西类牙语编写的字符串。无论如何,如果您开始使用 Qt,您仍然可以找到一些有用的代码。哦,我正在使用 Qt5,并且必须为 Qt 编译我自己的 PostgreSQL 驱动程序(如果你在 Linux 上,这没什么大不了的)。我提到这一点是因为该应用程序可能会或可能不会使用 Qt4 进行编译。祝你好运!

关于c++ - 通过桌面应用程序/安全查询数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15169393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com