Безопасная загрузка файлов с Qt - PullRequest
1 голос
/ 04 февраля 2011

Я нахожусь в процессе создания утилиты для резервного копирования медиа-файлов пользователя. Носитель не является общим и т. Д. Это всего лишь утилита резервного копирования.

Я пытаюсь придумать лучший способ защитить пользователей от интернет-провайдеров, обвиняющих их в загрузке нелегальных медиафайлов с помощью какого-либо безопасного соединения.

Утилита написана на C ++ с использованием библиотеки Qt, и до сих пор мне удалось найти только компонент QtSslSocket для безопасных соединений. Домен уже имеет действующий сертификат SSL на следующие несколько лет.

Может кто-нибудь предложить лучший способ реализовать это как на стороне сервера, так и на стороне клиента. то есть, что нужно иметь на сервере, и нужно ли что-либо, в частности, использовать утилите резервного копирования со стороны клиента для обеспечения безопасности транзакций?

Существуют ли какие-либо известные стабильные серверы sftp или ftps и т. Д.?

Насколько я знаю, Qt не поддерживает безопасную передачу по FTP. Не уверен, что другая информация. было бы полезно прояснить этот вопрос, но любой совет или помощь, указывающая мне правильное направление, будут приветствоваться.

РЕДАКТИРОВАТЬ Я также компетентен в Java, поэтому решение Java будет работать так же хорошо ...

Ответы [ 4 ]

3 голосов
/ 04 февраля 2011

Как писал Мартин, вы можете обернуть клиента.Но если вы не хотите этого делать, вы можете использовать libssh .

3 голосов
/ 07 июля 2011

Я искал какое-то решение для этого пару дней, а потом забыл о проблеме.Затем сегодня я наткнулся на эту маленькую жемчужину в источнике Qt-Creator Utils :: ssh , включающую поддержку SFTP, простой SSH и всякие вкусности.

Распутывание вещей из Qt-Creator может быть болезненным, но, пройдя этот процесс, это равносильно захвату Botan (одной из других библиотек в QT-Creator) + Utils.дожди, льет, я нахожу два решения этой проблемы за час - http://nullget.sourceforge.net/ (требуется перевод на китайский), но из их резюме:

NullGet написан с использованием Qt, работает нанесколько платформ, графический интерфейс многопоточного многопротокольного программного обеспечения для загрузки HTTP.Использование NullGet позволяет легко загружать различные потоки данных сетевого протокола, повышать скорость загрузки, поддерживать HTTP, в настоящее время поддерживаются следующие протоколы: HTTP, HTTPS, FTP, MMS, RTSP.И он может работать на большинстве популярных операционных систем, включая Windows, Linux, FreeBSD и т. Д.

2 голосов
/ 04 февраля 2011

Самый простой способ - просто обернуть клиент sftp командной строки внешним интерфейсом Qt.

На сервере любой ftp-сервер должен делать sftp практически из коробки.

0 голосов
/ 23 ноября 2012

Как говорит Synthesizerpatel, Qt Creator реализует SFTP.Поэтому я выделил библиотеку, содержащую SSH и SFTP, и создал новый проект с именем QSsh в Github (https://github.com/lvklabs/QSsh).). Цель проекта - обеспечить поддержку SSH и SFTP для любого приложения Qt.

Я написал пример загрузки файла с использованием SFTP в examples/SecureUploader/

Я надеюсь, что это может быть полезно

...