Có cách nào để xác minh dữ liệu vị trí GPS nhận được từ khách hàng không?


9

Câu trả lời cho câu hỏi này có thể là "KHÔNG" nhưng nó khá quan trọng vì vậy tôi nghĩ tôi cũng có thể hỏi.

Đây sẽ là một vấn đề đối với tất cả các trò chơi nhận biết vị trí máy khách-máy chủ nơi các vị trí người chơi trên thế giới là trung tâm của trò chơi. Có cách nào chúng tôi có thể đảm bảo rằng dữ liệu vị trí đến từ máy khách là có thật không (tức là người chơi thực sự ở đó)?

Làm việc trên các trò chơi máy khách-máy chủ, tất cả chúng ta đều biết rằng chúng ta không bao giờ nên tin tưởng bất kỳ thông tin nào đến từ máy khách và do đó tất cả logic trò chơi quan trọng nên được thực hiện ở phía máy chủ. Tuy nhiên với thông tin vị trí, chúng tôi PHẢI nhận được thông tin này từ khách hàng. Có cách nào để kiểm tra lại điều này để tránh gian lận?

Câu trả lời:


10

Bạn có thể sử dụng dịch vụ định vị địa lý IP để có được vị trí gần đúng từ nơi người dùng đang kết nối. So sánh điều này với dữ liệu GPS nhận được và bạn có thể loại bỏ một số trường hợp cực đoan (người chơi kết nối qua proxy, v.v.). Bạn thậm chí có thể tính toán khoảng cách giữa các lần đăng nhập của người dùng và nếu chúng quá cao (giả sử, vị trí đã di chuyển 1000 km giữa hai lần đăng nhập trong 5 hoặc 10 phút) thông báo cho người dùng.

Tuy nhiên điều này không thể đánh lừa được và bạn sẽ gây ra nhiều bất tiện cho người chơi hợp pháp.


Cảm ơn bạn, tôi nghĩ rằng tôi sẽ xem xét kiểm tra IP cũng như vị trí delta giữa các lần đăng nhập / đăng ký với máy chủ. Nó chắc chắn sẽ gây ra vấn đề cho người chơi hợp pháp nếu chúng tôi dựa vào phát hiện và cấm tự động ... Tôi nghĩ rằng tôi sẽ chỉ gắn cờ để đánh giá của quản trị viên và đưa ra một số giới hạn hào phóng; có thể chúng ta sẽ giải quyết từng lá cờ trong từng trường hợp cụ thể (hy vọng con số đủ thấp để điều đó trở nên thiết thực.)
Jamornh

GeoLocation là khá chính xác; bạn không nên có bất kỳ vấn đề nào ... tùy thuộc vào độ chi tiết bạn muốn.
Vaughan Hilts

10

Không có gì ở phía máy khách không thể bị làm giả, mọi thứ ai đó có quyền truy cập vật lý đều có thể bị thao túng.

IP chứa thông tin định tuyến và do đó gợi ý về vị trí. Nhưng người chơi chỉ cần một proxy và kiểm tra ... IP gợi ý ở một vị trí hoàn toàn khác so với người chơi thực sự.

Hãy tin tưởng người chơi của bạn, đừng cho họ một lý do để cố gắng lừa hệ thống ngay từ đầu.


Tôi đồng ý với việc tin tưởng người chơi và không cho họ lý do để lừa hệ thống. Sẽ thuận tiện hơn khi theo hệ thống để đạt được một cái gì đó hơn là dành thời gian để lừa nó để làm điều tương tự. Nhưng một số người chơi sẽ luôn tìm thấy lý do để làm những việc họ không định làm, à, tôi hy vọng con số đó cực kỳ thấp nếu hệ thống được thiết kế tốt.
Jamornh

3

Bạn không thể thực sự xác minh thông tin này nhiều hơn bạn có thể thực sự xác minh bất kỳ thông tin nào được tạo bởi một nguồn bên ngoài. Vì vậy, những gì bạn muốn là về mặt lý thuyết là không thể. Nhưng bạn có thể làm cho nó khó hơn một chút để giả mạo.

Ví dụ: trên điện thoại Android, bạn có nhiều nhà cung cấp vị trí khác nhau , chẳng hạn như định vị người dùng bằng cột điện thoại di động gần đó, hệ thống định vị Wi-Fi, v.v. Bạn có thể yêu cầu ít nhất hai nhà cung cấp vị trí trả lại các giá trị tương tự để tin tưởng chính xác hơn của hai.

Tôi không khuyên bạn nên sử dụng định vị địa lý IP; Ở Anh, điều này là không chính xác vì hầu hết chúng ta sử dụng các ISP quốc gia. Vào một ngày đẹp quảng cáo nhắm mục tiêu địa chỉ các vị trí khoảng 20 dặm, và vào một ngày xấu họ nghĩ tôi là 100 dặm. Nhưng bạn có thể sử dụng nó để xác minh người dùng ở đúng quốc gia!


Cảm ơn câu trả lời này. Khi bạn tham khảo "nhà cung cấp vị trí", tôi giả sử bạn đang nói API vị trí của Android và phần cứng nào đang sử dụng để tính toán vị trí. Nó sẽ khiến người cố gắng giả mạo vị trí khó hơn một chút (phải cung cấp 2-3 giá trị thay vì 1) nhưng vì dù sao họ cũng cung cấp giá trị giả, điều này không nên đặt ra nhiều công việc để họ bỏ qua (cung cấp giá trị giả mạo bổ sung.) Hoàn toàn đồng ý với quan điểm của bạn về định vị địa lý IP, không đủ chi tiết nhưng tốt cho xác minh sơ bộ :) Cảm ơn sự giúp đỡ!
Jamornh

Có, hoàn toàn không có cách nào để ngăn chặn việc báo cáo các giá trị giả từ khách hàng - tất cả những gì bạn có thể làm là hy vọng sẽ gây khó khăn.
Kylotan

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.