2014-09-26 108 views
0

基本上我有iOS應用程序向我的網站上的一個php文件發送POST請求,其中包含它的位置,然後php文件將它連接/發送到mySQL數據庫,反之亦然。一切工作正常等,但我真正想要的是一種方法,以確保沒有人可以讓一些假腳本發送POST請求到我的PHP文件,並滲入數據庫。在iOS之間安全地傳輸數據 - > php - > mySQL

我的第一個想法是有某種「關鍵」,也將被髮送來檢查它是否匹配的PHP文件。我可以讓它像這樣https://www.grc.com/passwords.htm。無論如何,我擔心這不像我想要的那樣安全(或有效)。審查我的代碼接受進入App Store的人會看到它,對嗎?

對不起,如果這是一個愚蠢的問題,但確保只有我可以從mySQL數據庫(並因此PHP文件)發送/接收數據的最佳方法是什麼?

謝謝!

+0

我想你會添加更多的參數。例如:authen =「true」等等。他們不會試圖用你的Api來完成所有的關鍵。 hashcode是好的,但我認爲這是沒有必要的。 – 2014-09-26 01:50:06

回答

0

Jajaja「對不起,如果這是一個愚蠢的問題」。從來沒有一個愚蠢的問題,除非你沒有學習的慾望。

我也有類似的問題,並且確實希望保護您操作的數據,因爲它非常重要。 你必須看到客戶端和服務器。

例如,在客戶端:

1)你將數據發送到服務器,以便這可能不是清晰?

2)你使用的是https嗎?

或者在服務器:

1)你的服務器能夠當數據到達可靠識別的?

2)您是否使用任何算法對您的數據進行加密?客戶端加密和服務器解密還是反之?

並非總是因爲他們使用密鑰,而是總是安全的。我希望對你的作品和我的英語道歉:)

+0

MD5和SHA不加密。 – zaph 2014-09-26 08:14:07

0

•發送過來SSL

•在你的應用實現SSL Pinning

•可選哈希全部或者你的數據/查詢參數的部分,等用鹽和通過這個散列一起休息。在服務器散列/鹽的參數/數據等,並驗證鹽匹配。他們將不得不繞過ssl,你的固定,然後重新開始你的應用程序,以提取你應用鹽的方法以及鹽本身。 example here

•至於PHP /服務器端,你會想要清理任何去mysql的東西。 Example

這是一個「開始」。

+0

假設你有安全的PHP(消毒)和你的數據庫在同一臺服務器上運行,這是不太可能成爲你的入侵點,但爲了完整性,我更新了我的答案。 – drunknbass 2014-09-26 20:20:27

0

問題的癥結似乎是:「滲入數據庫」。

避免這個是由完成的從不發出用戶創建的命令到數據庫。攔截所有用戶請求,解析,驗證和提取信息。如果一切都很好你的代碼向帶有消毒參數的db發出一個請求。

SSL將保護傳輸中的數據。您還需要防止創建攻擊請求的攻擊者。

相關問題