2011-02-04 15 views
1

사용자의 미디어 파일을 백업하는 유틸리티를 만드는 중입니다. 미디어가 공유 유틸리티 등의 유일한 백업 유틸리티가 아닙니다.Qt로 안전한 파일 업로드

저는 보안 연결을 사용하여 불법 미디어 파일을 다운로드한다고 비난 한 ISP로부터 사용자를 보호하는 최선의 방법을 생각하려고합니다.

이 유틸리티는 Qt 라이브러리를 사용하여 C++로 작성되었으며 지금까지만 보안 연결을 위해 QtSslSocket 구성 요소를 찾을 수있었습니다. 도메인은 이미 다음 몇 년 동안 유효한 SSL 인증서를 가지고 있습니다.

누구나 서버와 클라이언트 측에서 구현할 가장 좋은 방법을 제안 할 수 있습니까? 즉, 서버가 무엇을해야하는지, 특히 백업 유틸리티가 보안 트랜잭션을 보장하기 위해 클라이언트 측에서 구현해야하는 것이 있습니까?

알려진 안정적인 sftp 또는 ftps 서버가 있습니까?

내가 아는 한, Qt는 안전한 FTP 전송을 지원하지 않습니다. 다른 정보가 확실하지 않습니다. 질문을 더 명확하게하는 데 유용하지만 올바른 방향으로 나를 가리키는 조언이나 도움이 가장 환영받을 것입니다. 나는 또한 이렇게 자바 솔루션은 단지뿐만 아니라 작동합니다 자바 능력이있어

편집 ...

답변

2

가장 쉬운 방법은 단지 Qt는 프론트 엔드와 commandline sftp client를 포장하는 것입니다.

서버에서 ftp 서버는 sftp를 거의 그대로 사용해야합니다.

+0

도움이 될 수있는 희망 examples/SecureUploader/

에서 SFTP를 사용하여 파일을 업로드하는 방법에 대한 예제를 작성했습니다. 더 안전하고 더 휴대 가능합니다. http://doc.qt.nokia.com/latest/qprocess.html – spraff

3

Martin이 작성한대로 클라이언트를 래핑 할 수 있습니다. 그러나 원하지 않으면 libssh을 사용할 수 있습니다.

3

몇 일 동안이 문제에 대한 해결책을 찾은 다음 문제를 잊어 버렸습니다. 그런 다음 Qt-Creator 소스 Utils::ssh에서이 작은 보석을 발견하고 SFTP, 평범한 구형 SSH 및 모든 기능을 지원합니다.

Qt-Creator의 Disentangling 항목은 고통 스러울 수 있지만이 과정을 거치면 Botan (QT-Creator의 다른 라이브러리 중 하나) + Utils를 가져옵니다.

는, 그것이 내가이 시간에이 문제에 대한 두 가지 솔루션을 찾아 부어 비가 오면 - http://nullget.sourceforge.net/이 (중국어 번역 필요), 그러나 그들의 요약에서 :

NullGet가 Qt를 함께 작성, 여러에서 실행 플랫폼, GUI 인터페이스 멀티 스레드 멀티 프로토콜 HTTP 다운로드 소프트웨어. NullGet 을 사용하면 네트워크 프로토콜 데이터 스트림을 다양하게 다운로드 할 수 있으며 더 빠른 다운로드 속도, HTTP에 대한 지원, 프로토콜은 현재 HTTP, HTTPS, FTP, MMS, RTSP입니다. 또한 은 Windows, 리눅스, FreeBSD 등 가장 많이 사용되는 운영 체제에서 실행될 수 있습니다.

0

Synthesizerpatel은 Qt Creator가 SFTP를 구현한다고 말합니다. 그래서 저는 SSH와 SFTP가 포함 된 라이브러리를 분리했으며, Github (0122)에 QSsh이라는 새 프로젝트를 만들었습니다 (https : // github.com/lvklabs/QSsh). 이 프로젝트의 목적은 모든 Qt 응용 프로그램에 대해 SSH 및 SFTP 지원을 제공하는 것입니다.

는 나는 그것을 당신은 쉘이나 뭔가를 호출보다는 QProcess로 호출 할 수 있습니다

+0

코드 또는 코드 링크는 어디에 있습니까? – toxicate20

+0

"QSsh"는 링크입니다. 이 게시물을 업데이트하여 https://github.com/lvklabs/QSsh에 대한보다 명확한 링크를 제공합니다. – Paglian