【问题标题】:Secure file upload with Qt使用 Qt 安全上传文件
【发布时间】:2011-02-04 18:24:06
【问题描述】:

我正在创建一个实用程序来备份用户的媒体文件。媒体没有被共享等它只是一个备份实用程序。

我正在想办法保护用户免受 ISP 指控他们使用某种安全连接下载非法媒体文件的最佳方式。

该实用程序是使用 Qt lib 用 C++ 编写的,到目前为止,我只能找到用于安全连接的 QtSslSocket 组件。该域已经拥有未来几年的有效 SSL 证书。

任何人都可以建议从服务器端和客户端实现这一点的最佳方法。即服务器需要具备什么?备份实用程序是否需要从客户端实施以确保安全交易?

是否有任何已知的、稳定的 sftp 或 ftps 服务器等可用?

据我所知,Qt 不支持安全 FTP 传输。 不知道还有什么其他信息。将有助于使问题更清晰,但任何建议或帮助指出我正确的方向都将受到欢迎。

编辑我也精通 Java,所以 Java 解决方案也能正常工作...

【问题讨论】:

    标签: c++ ssl qt4 sftp ftps


    【解决方案1】:

    正如 Martin 所写,您可以包装客户端。但如果你不想这样做,你可以使用libssh

    【讨论】:

      【解决方案2】:

      我花了几天时间寻找某种解决方案,然后忘记了这个问题。然后今天我在 Qt-Creator 源代码Utils::ssh 中偶然发现了这个小宝石,包括对 SFTP、普通 SSH 和各种好东西的支持。

      从 Qt-Creator 中分​​离出来的东西可能会很痛苦,但是经历了这个过程之后,它就相当于获取了 Botan(QT-Creator 中的其他库之一)+ Utils。

      下雨天倾盆大雨,我在一个小时内找到了两个解决这个问题的方法-http://nullget.sourceforge.net/(需要中文翻译),但是从他们的摘要中:

      NullGet 是用 Qt 编写的,运行在 多平台,GUI界面 多线程多协议的 HTTP 下载软件。使用 NullGet 可以轻松下载各种 网络协议数据流,速度更快 下载速度,支持HTTP, 目前支持的协议有: HTTP、HTTPS、FTP、彩信、RTSP。而且它 可以运行在当前最流行的 包括Windows在内的操作系统, Linux、FreeBSD 等。

      【讨论】:

        【解决方案3】:

        最简单的方法是使用 Qt 前端包装 commandline sftp client

        在服务器上,任何 ftp 服务器都应该开箱即用地执行 sftp。

        【讨论】:

        【解决方案4】:

        正如 Synthesizerpatel 所说,Qt Creator 实现了 SFTP。所以我隔离了包含 SSH 和 SFTP 的库,并在 Github (https://github.com/lvklabs/QSsh) 中创建了一个名为 QSsh 的新项目。该项目的目的是为任何 Qt 应用程序提供 SSH 和 SFTP 支持。

        我在examples/SecureUploader/写了一个关于如何使用SFTP上传文件的例子

        希望对你有帮助

        【讨论】:

        • 请注意,“QSsh”是一个链接。我将更新帖子以提供指向github.com/lvklabs/QSsh的更明确的链接
        猜你喜欢
        • 2018-03-28
        • 2012-01-16
        • 1970-01-01
        • 2013-10-18
        • 2011-10-16
        • 1970-01-01
        • 1970-01-01
        • 2012-04-14
        • 2012-10-03
        相关资源
        最近更新 更多