假設我正在爲一個展覽製作網絡應用程序(例如平均堆棧),我想確保我的服務器只接受來自用戶的請求真的在場內,我該怎麼辦?什麼是常見攻擊?防止假冒用戶的攻擊(真正的用戶是那些真正處於特定位置的用戶)
回答
將您的場地位置保存在您的應用程序或服務器端。然後嘗試通過獲取他們的位置大約100毫秒或您選擇的半徑來跟蹤用戶。
添加CoreLocation.framework到BuildPhases - >鏈接二進制與圖書館(不再需要爲7.2.1的XCode的)
進口CoreLocation到你的類 - 可能ViewController.swift
添加CLLocationManagerDelegate上您的課聲明
添加NSLocationWhenInUseUsageDescription和NSLocationAlwaysUsageDescription到PList INIT位置經理:
locationManager = CLLocationManager()
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.requestAlwaysAuthorization()
locationManager.startUpdatingLocation()
get User Location By:
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
var locValue:CLLocationCoordinate2D = manager.location.coordinate
print("locations = \(locValue.latitude) \(locValue.longitude)")
}
提供假的位置信息將非常容易。 –
簡短和通用的答案是你不能真的這樣做,但請繼續閱讀。
您需要回答的問題與您想要保護您的應用的方式不符,您試圖減輕的威脅是什麼。
您可以在移動應用程序中構建任何保護(例如其他答案中的保護),但請記住客戶端完全由用戶控制。例如,用戶可能僞造應用程序的位置座標(請參閱Pokemon Go),在仿真器或實際設備中執行操作非常簡單。或者更容易,用戶可以從任意來源發出請求,而不是您的應用程序。服務器請求必須包含用戶的位置 - 但用戶可以發送任何他想要的內容。總而言之,客戶端上的任何內容都完全由用戶控制。
因此,這導致服務器端保護作爲實際安全解決方案(合理難以規避的解決方案)的唯一方式。如果客戶端告訴服務器,服務器知道客戶端的物理位置的唯一來源 - 但我們上面已經看到這是不可靠的。
但是,有一件事客戶端不能合理假冒(至少不容易),那就是客戶端IP地址。因此,爲防止用戶不在場內使用您的服務,您可以做的唯一事情就是將其鎖定在網絡級別上,例如,您的API服務器應僅可從IP範圍場地提供(大概是本地地址範圍,或者如果您的API在雲中,則是公共IP地址或場地的範圍)。
- 1. Identityserver3 - 用戶假冒
- 2. 確定用戶是否處於後臺的特定位置
- 3. 真正的用戶界面不同於設計的
- 4. Grails用戶域類和緩存真正
- 5. openID Connect如何真正認證用戶?
- 6. 用戶IIS7使用時識別冒充=真和一個特定的用戶沒有指定
- 7. MVC 4 - 用戶假冒
- 8. 基於連續的用戶位置計算真北
- 9. 如何防止登錄系統的用戶枚舉攻擊?
- 10. 防止用戶點擊一個特定的按鈕時,正在執行
- 11. 關於Sharepoint用戶的真正基本問題
- 12. FB登錄API - 檢查用戶是否真的是用戶
- 13. 防止用戶點擊
- 14. Android InApp帳單 - 什麼是真正的無用帳戶?
- 15. 如何防止用戶將UITableViewCell移動到特定位置?
- 16. 如何防止用戶使用特定用戶名註冊?
- 17. 假冒用戶的令牌錯誤
- 18. 真實用戶和系統用戶帳戶之間的差異
- 19. 防止用戶
- 20. 防止用戶
- 21. 防止用戶
- 22. 真正返回假
- 23. 所提供的防僞標記是爲那些用戶「用戶名」,而當前用戶是「」
- 24. 禁用WordPress的特定用戶,並防止該用戶不使用插件
- 25. 在Laravel驗證用戶時防止暴力攻擊
- 26. 製作的createElement返回功能/真正的假冒標籤
- 27. 防止虛假賬戶
- 28. 所提供的防僞標記是爲那些基於聲明的不同的用戶比當前用戶
- 29. 如何防止用戶登錄用於模擬的帳戶?
- 30. Android - 獲取用戶在仿真器上的當前位置
只允許來自該收入的WiFi網絡的連接?簡單的IP過濾器會做。 – madhead