2012-11-27 73 views
0

我的iPhone應用程序必須經常與mySQL數據庫進行通訊;它都會發送請求來接收數據並將數據添加到數據庫。創建iPhone - mySQL數據庫通訊

現在,我所有的iPhone應用程序都會向PHP腳本發送POST請求,該腳本會檢查POST請求並根據請求類型執行查詢。現在,我讀過這是「糟糕的」,我是一個開始的程序員(特別是服務器端腳本),所以我想知道「最佳方式」或「最佳實踐」來做到這一點。

它只是發送一個哈希密碼到PHP腳本,以便它在運行請求之前檢查並使用SSL?或者還有更多嗎?

如果可能的話,請包括相關文檔和/或代碼讓我開始。

謝謝!

回答

1

您需要解決3個基本問題。一點點搜索會讓你知道每一個。 1)身份驗證 - 控制誰可以訪問您的網絡服務(取決於您的設置,開箱即用和自行推出有多種選擇),2)加密 - 防止某人攔截未加密的郵件到/從你的web服務(SSL應該處理這一點),3)SQL注入 - 這可以處理服務器端

這些是你應該關心的基本問題,並且再次,有大量關於每個問題的網頁。

0

從移動應用程序運行對遠程數據庫的查詢不是一個好主意(不管您是否使用花式加密) - 在大多數情況下,它是錯誤的架構模式。相反,您應該通過REST API(即以JSON格式)公開數據。有一對夫婦的PHP框架/庫應該簡化這個proccess,一起來看看:http://blog.programmableweb.com/2011/09/23/short-list-of-restful-api-frameworks-for-php/

在移動應用程序,連接到API,解析檢索JSONs你的商業模式...... 圖書館像RESTKitAFIncrementalStoreMantle可能會有幫助。

1

你有兩個問題需要解決,而不是一個(Stack Overflow問題中經常出現這種情況:-))。

問題1:創建一個允許與MySql數據庫進行適當交互的PHP Web服務。

問題2:從iPhone應用程序中與所述Web服務交互。

您仍然需要保護@wzs提到的流量,但您現在已將訪問權分離到數據庫並訪問您的服務。只有服務可以立即訪問數據庫。

+0

嘿,謝謝你的回答。我不明白「PHP網絡服務」中您和其他評論者的意思。 「PHP網絡服務」和託管在處理PHP的服務器上的簡單.php腳本之間有什麼區別? – Konrad