2012-04-06 119 views
0

我開發了一個移動應用程序,通過RESTful API連接到我的Web服務。如何使https請求和加密POST參數?

現在,我需要通過WireShark嗅探它的人來保護我的API。我只需要以某種方式隱藏我的URL和POST參數...我該怎麼做?

我的風險在於,如果「有人」讓我的API的地址和更改?每個請求可以作爲另一個用戶的USER_ID參數,並做壞事......

(我不使用OAuth 2.0)

回答

0

做到這一點,最簡單的方法是使用HTTPS

客戶端連接到服務器

客戶端和服務器進行SSL握手 客戶端發送加密類似

POST /resource/ HTTP1.1 

Name=Jonathan+Doe&Age=23&Formula=a+%2B+b+%3D%3D+13%25%21 
1

我有兩個項目,這將有所幫助。

https://github.com/jas-/jQuery.AJAX提供了一個REST API的有用示例,其中包含用於序列化發佈數據校驗和以及CSRF令牌處理的選項。

該項目使用JS對錶單數據進行非對稱公鑰加密。 https://github.com/jas-/jQuery.pidCrypt

請記住,瀏覽器中可用的隨機數生成器存在已知限制,可能會導致弱加密,因此建議將連接包裝在SSL連接中。

0

第一步是切換到HTTPS。這將加密您的POST參數。

你的第二步是修復你的協議來驗證用戶。始終可以對協議進行反向工程。如果唯一身份驗證是user_id參數,那麼您很脆弱。沒有任何混淆會保護你。您的協議必須對未授權的應用程序的連接具有彈性