2012-01-22 44 views
6

Tôi đang tạo ứng dụng web nơi người dùng sẽ bỏ phiếu cho một số ứng cử viên bằng cách nhấp vào biểu tượng thích hoặc không thích và những người dùng này sẽ không có bất kỳ tài khoản nào trên trang web.Ngăn chặn bỏ phiếu đôi

Kỹ thuật tốt nhất để sử dụng là gì? Có cần sử dụng hình ảnh xác thực để bảo vệ khỏi spam không?

Số phiếu bầu được mong đợi là hàng triệu và chủ đề không phải là rất quan trọng miễn là tôi nhận được độ chính xác 95% sẽ ổn. Cảm ơn.

+0

* Không phải là rất quan trọng *? Độ chính xác 95% đã rất lớn. –

+0

thêm cookie. hoặc lưu trữ địa chỉ ip nếu bạn thực sự sợ. – neeKo

+1

Tùy chọn tốt nhất của bạn ở đây sẽ là đặt cookie lâu dài cho biết người dùng đã bỏ phiếu trước đó. Sẽ luôn có cách để lừa hệ thống - đặc biệt nếu bạn không lưu/theo dõi tài khoản người dùng. – SeanNieuwoudt

Trả lời

4

Bạn có thể kết hợp hai phương pháp:

  • Thêm một cookie để ngăn chặn nhiều phiếu bầu từ cùng một máy
  • địa chỉ Log IP và ngăn chặn bỏ phiếu hơn một số thiết lập của lần từ cùng một địa chỉ (ví ví dụ, 5 lần cùng một giờ).

Điều này sẽ giúp nhiều người bỏ phiếu từ cùng một mạng nhưng vẫn ngăn chặn gian lận quá mức.

Bạn cũng có thể làm khó xây dựng bot bỏ phiếu bằng cách thêm một số trường biểu mẫu ẩn với mã thông báo phải được bao gồm trong phiếu bầu và/hoặc sử dụng Ajax để bỏ phiếu. Tôi biết nó tương đối dễ dàng để xây dựng một bot anyway nhưng hầu hết các gian lận không phải là thông minh.

1

Cookiesphiên Id sẽ giúp đỡ, mặc dù cả hai có thể bị mất khi trình duyệt được đóng lại (nếu người dùng có nó kích hoạt để xóa chúng). Tuy nhiên, họ sẽ cung cấp cho bạn một mức độ chính xác (ví dụ, cử tri lười biếng sẽ không bận tâm để đóng và mở lại trình duyệt của họ).

Sử dụng Địa chỉ IP cũng sẽ hoạt động, nhưng như @Michael Dillon cho biết mọi người trên cùng một địa chỉ IP (cùng một bộ định tuyến) sẽ không thể bỏ phiếu.

1

Bạn có một số tùy chọn, một số hoặc tất cả các tùy chọn mà bạn có thể sử dụng.

Bạn có thể ghi IP và sau đó kiểm tra IP, nhưng sau đó điều này không phải là dấu hiệu của một người cụ thể chỉ là một máy tính và đôi khi không chỉ là một máy tính duy nhất.

Bạn cũng có thể viết một cookie trình duyệt của người dùng nhưng người dùng có thể sử dụng một trình duyệt, máy khác nhau vv

Trong phiên làm việc của người dùng mà bạn có thể tạo ra một biến phiên, mặc dù nếu bạn đang mong đợi giao thông rất cao này có thể không phải là lựa chọn tốt nhất, và cũng chỉ ngăn chặn tái biểu quyết trong cùng một phiên.

Nếu bạn dự tính một hình ảnh xác thực, bạn cũng có thể yêu cầu người dùng cung cấp địa chỉ email và sau đó bạn được đảm bảo ít nhất một phiếu bầu cho mỗi địa chỉ email. Tuy nhiên, thậm chí sau đó bạn không thể được đảm bảo địa chỉ email hợp lệ.

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