2010-02-15 26 views
5

Trong trò chơi JavaScript của tôi (được tạo bằng jQuery) Tôi có vị trí trình phát được lưu trữ trong cơ sở dữ liệu. Khi ký tự đang di chuyển, tôi chỉ gửi yêu cầu đến URL specyfic, I.E. mysite.com/map/x1/y3 (trong đó vị trí của ký tự là x = 1, y = 3).an toàn ajax trong trò chơi javascript

Url đó gửi tọa độ tới cơ sở dữ liệu và kiểm tra xem có người chơi nào khác ở gần chúng ta hay không. Nếu có, nó cũng gửi đối tượng JSON với tên và coords của người chơi đó.

Và đây là câu hỏi của tôi - cách bảo mật? Một số người có thể nhìn vào mã JavaScript của tôi và chuẩn bị url trông giống như mysite.com/map/x100/y234, và nó sẽ 'dịch chuyển' anh ta vào một mặt khác của bản đồ.

+0

những gì bạn đang yêu cầu là hoàn toàn và hoàn toàn không thể. – rook

Trả lời

0

Bạn có thể làm xáo trộn mã nguồn javascript của mình. Điều đó sẽ ít nhất là ngăn chặn cheats bình thường, tuy nhiên có lẽ không có cách nào để làm cho nó hoàn toàn an toàn bằng cách sử dụng javascript.

+0

Không có những thứ như an ninh mặc dù tối tăm. Để tấn công hệ thống này tôi sẽ sử dụng tamperdata, tôi không quan tâm những gì kịch bản trông như thế nào. – rook

8

Mọi dữ liệu/tính toán được xử lý trong JavaScript trong trình duyệt sẽ không an toàn vì tất cả mã chạy trên máy cục bộ. Tôi khuyên bạn nên liệt kê tất cả các thông số quan trọng đối với trải nghiệm chơi công bằng, chẳng hạn như vị trí của người chơi, điểm số, tài nguyên ... và tính toán việc quản lý các thông số này ở phía máy chủ. Bạn sẽ chỉ thu thập dữ liệu người dùng từ trình duyệt và gửi trạng thái cập nhật tới trình duyệt để hiển thị.

Ngay cả khi bạn chọn tính toán một số giá trị ở phía trình duyệt để tránh độ trễ, bạn không nên tính đến trạng thái toàn cầu được người chơi chia sẻ và bạn nên đồng bộ hóa trạng thái cục bộ với trạng thái toàn cục - luôn trong hướng toàn cầu đến địa phương - theo thời gian.

Giống như trong xử lý biểu mẫu điển hình, bạn cũng nên kiểm tra xem các giá trị được gửi bởi trình duyệt cho đầu vào của người dùng có rơi vào giới hạn hợp lý hay không, ví dụ: chuyển động tương đối trong một giây là ít hơn một khoảng cách nhất định.

+0

+1 Lời khuyên tốt! –

Các vấn đề liên quan