Tôi là người sáng lập ra một 'toplist' lớn, được gọi là. Người dùng có thể gửi trang web của họ đến nhà duy nhất và đạt được vị trí cao hơn bằng cách lấy phiếu bầu cho mục nhập của họ.Xác định một khách truy cập duy nhất, cách nâng cao? (PHP/Java)
Khách truy cập trung bình là trẻ, chủ yếu là từ 13-20 tuổi. Họ mang lại lợi ích, nhưng cũng bất lợi. Trong 5 năm qua, tôi đã tích cực chiến đấu với 'các nhà hát' đang sử dụng robot để có được phiếu bầu. Những rô bốt này sử dụng proxy, các tác nhân người dùng khác nhau và thậm chí còn quản lý nhiều loại câu hỏi CAPTCHA (reCAPTCHA, SolveMedia và captcha tùy chỉnh). Việc sử dụng các robot này đã giảm đáng kể kể từ khi tôi giới thiệu một hệ thống mới tạo bố cục ngẫu nhiên và tải 1 trong số 15 hệ thống CAPTCHA khác nhau mỗi lần tải trang. Nó không có vẻ là một vấn đề nữa.
Mọi người hiện đã chuyển sang gian lận thủ công. Họ đang sử dụng plugin trình duyệt thay đổi địa chỉ IP của họ trên mỗi tải trang khá nhiều (ví dụ: https://addons.mozilla.org/en-us/firefox/addon/ipflood/). Tôi thực sự dường như không thể tìm cách để chống lại điều này, nhưng đó là một vấn đề rất lớn. Thật khó tin, nhưng những đứa trẻ này thậm chí còn tự giải quyết 5000 câu hỏi xác thực, đó là thời gian.
Câu hỏi của tôi là, ai cũng có thể giúp tôi nghĩ ra cách giải quyết vấn đề này? Tôi đã sử dụng cookie và cài đặt phiên, nhưng họ đã bắt đầu chú ý và xóa chúng. Tôi sẽ giới thiệu tài khoản người dùng và làm cho nó thú vị hơn để bỏ phiếu thông qua một tài khoản, nhưng tôi không muốn yêu cầu tài khoản. Tôi nghi ngờ có, nhưng có cách nào khác còn lại để chống lại gian lận (có thể giống như một ứng dụng web Java né tránh proxy cài đặt trình duyệt và chuyển IP thực đến trang, nếu có thể?)? Hoặc tôi có nên bỏ cuộc và thuê người để kiểm tra hàng ngày để xem liệu trang web có thể đạt được nhiều phiếu bầu không?
Nếu có, sẽ có cách. Làm cho cử tri của bạn đăng nhập và cũng lưu trữ ở đó ip họ đăng nhập nếu nó thay đổi 5k lần mỗi ngày bạn biết cũng đặt thẻ CSRF cho mọi phiếu bầu, trong phiên và trong cookie, phát hiện bot bằng cách kiểm tra xem họ cũng tải xuống nội dung như hình ảnh, css. –
Tôi chỉ nhận ra rằng tôi quên đề cập đến việc bỏ phiếu chỉ có thể mỗi 24 giờ một lần. Tôi không muốn yêu cầu đăng nhập người dùng, tôi nghi ngờ có một triệu người sẵn sàng tạo một tài khoản, phần lớn sẽ ngừng sử dụng trang web của tôi. Tôi đang làm cho nó thú vị hơn để sử dụng một tài khoản mặc dù, như loại bỏ thời gian chờ đợi và captcha. Họ có vẻ thích nó. Giới hạn 1 phiếu bầu trong 24 giờ thật dễ dàng vì tôi có thể kiểm tra tên người dùng thay vì IP. – Jason
Câu hỏi thực sự thú vị. –