[英]How can I prevent anything other than my iPhone app from communicating with my Rails webapp?
我正在研究Web開發,並且已經構建了一些基本的Rails應用程序,但是現在我想開始學習如何將iOS應用程序與Rails應用程序安全地連接起來。 例如,如果我想讓我的iOS應用通過在url中傳遞參數來查詢我的Rails Web應用以獲取數據庫中的某些數據...
http://mywebapp/mycontroller/search?q=keyword
...我可以使用哪些常見的Web開發方法來阻止除我的iOS應用以外的任何(或其他任何人)成功執行該搜索查詢?
我確定我要防止的這種偽造具有正式名稱,但是我對Web開發非常陌生,我仍然在學習所有術語。 非常感謝您的智慧!
通過為您的iPhone應用程序生成唯一密鑰,使用Rails在protect_from_forgery
使用的技巧。 然后,確保您的應用將請求中的密鑰傳遞給服務器。 然后,您可以編寫一個before_filter
來確保請求擁有密鑰。 如果是這樣,則您將處理請求。 如果不是,那么您將返回一條錯誤消息,並顯示一條自定義消息,說明他們為何無法訪問。
您可以創建一個哈希並將其用作令牌,該令牌將隨每次調用一起傳遞,以標識您的應用程序(應用程序中的硬編碼值)和會話(客戶端的當前IP地址。)因此:hard_coded_value + ip_addressed-> MD5 / SHA1(以任何一個為准)=令牌。 您的服務器還將具有硬編碼值的副本以及主叫客戶端的IP地址,執行相同的哈希函數並比較結果。 如果它們匹配,那就是您的應用。 如果不是,則不是。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.