簡體   English   中英

如何安全地將數據傳輸到服務器?

[英]How can I safely transfer data to a server?

這是我面臨的問題:

  • 答:以QT / C ++編寫的客戶端應用
  • B:帶有apache + php + mysql + linux的服務器

現在,A想要使用RESTful接口將一些私有數據發布到B,問題是:

  1. 如何保證數據傳輸的安全性
  2. 如何確保僅合法客戶發布數據。

我正在考慮OpenSSL,但我不知道從哪里開始,有人會向我顯示方法嗎?

PS.My客戶端應用程序可以由用戶免費下載,而無需注冊或任何用戶信息。 然后用戶使用我的應用運行測試,然后發布結果。 最后,我想確保這些結果數據是由我的客戶端應用發布的,因為虛假數據可能會令人討厭

為了安全地傳輸數據,您需要使用SSL加密的連接。 首先,請查看Apache文檔 ,了解其工作方式,如何生成自簽名證書以及相應地配置所有內容。 如果要搜索,您還可以在網上輕松找到更簡潔的說明。

第二部分取決於您的條件。 如果您的應用程序在諸如Intranet之類的封閉環境中工作,那么也許您可以僅通過IP地址限制訪問? 否則,您需要某種授權。 您可以使用內置的HTTP授權。 檢查文檔:

或在網上搜索更多說明。

如果您已經有一些授權系統。 像用戶數據庫。 然后,您將需要實現QT / C ++應用程序將能夠使用的REST API。

Qt不會為您保護數據提供任何幫助。 您應該首先專注於保護RDBMS。 當然,您應該仔細地對Qt客戶端應用程序進行編碼,以通過檢查和清理所有輸入等來防止意外行為,但是,如果您不打算分發它,那么這不是您最緊迫的問題。

如果計划將PostgreSQL用作應用程序的后端,則可以采取一些措施來減輕將任何服務公開到Internet所帶來的風險。 最基本的:

  • 使用適當的規則設置防火牆。 僅允許來自受信任來源的入站連接。

  • 即使使用自簽名證書,也僅接受SSL連接。

  • 強制使用強密碼。 如果更合適,請使用客戶端證書。

  • 將pg_hba.conf文件設置為僅接受來自已知/受信任地址的連接。

git上提供了一個使用PostgreSQL的很好的例子, 請點擊這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM