web-development-kb-asia.site

Có cách nào để không cho phép nhiều phiếu bầu từ một người dùng mà không buộc phải xác thực không?

Tôi đang tìm cách để ngăn chặn gian lận bỏ phiếu (xóa bộ nhớ cache/cookie, v.v.) mà không yêu cầu người dùng nhảy qua các vòng (đăng ký, xác thực, v.v.). Có ý kiến ​​gì không?

4
GoodShovel

Bạn có thể kết hợp một số phương pháp:

  • Xác thực IP nói trên.
  • Lưu trữ thông tin trong một cookie hoặc phiên.
  • Đo số phiếu "giống nhau" trong một khoảng thời gian rất ngắn (mặc dù những số này bạn chỉ có thể đánh dấu là nghi ngờ)

Mỗi người đều dễ dàng vượt qua đối với những người biết cách, nhưng câu hỏi, như Dan Petker đã nói, việc bỏ phiếu quan trọng như thế nào?

Ngoài ra, bạn có thể sử dụng một kỹ thuật xác thực dễ dàng như OpenID hoặc Facebook, điều này sẽ cho phép hầu hết người dùng hoàn thành quá trình cực kỳ nhanh chóng.

4
Dan Barak

Một tùy chọn là liên kết mỗi phiếu bầu với địa chỉ IP của người dùng. Nếu bạn thấy một phiếu bầu khác đến từ cùng một địa chỉ IP, bạn có thể không cho phép.

Giải pháp này có hai nhược điểm lớn, tuy nhiên. Đầu tiên là ngày nay không có ánh xạ một-một của máy tính đến địa chỉ IP trong rất nhiều thiết lập mạng gia đình. Ví dụ: nếu bạn có ba máy tính được nối với một bộ định tuyến/modem thì tất cả chúng có thể sẽ chia sẻ cùng một IP và do đó chỉ một phiếu bầu từ ba máy tính sẽ được cho phép mặc dù bạn nên cho phép cả ba máy tính.

Hạn chế khác là tất cả những gì nó cần là ai đó sử dụng Tor hoặc một phần mềm ẩn danh khác để tránh hoàn toàn hạn chế này.

Tôi đoán tất cả phụ thuộc vào mức độ an toàn mà bạn cần trong quá trình bỏ phiếu này và mức độ khó mà bạn muốn thực hiện đối với những kẻ tấn công sẽ gây rắc rối. Nếu bảo mật và tính toàn vẹn của quy trình bỏ phiếu là ưu tiên hàng đầu, thì bạn sẽ thực sự cần xem xét yêu cầu một số loại đăng ký/xác thực để đảm bảo mọi thứ không bị gian lận.

Chỉnh sửa: Một ý tưởng khác ...

Tôi đã suy nghĩ về vấn đề này từ một góc độ hơi khác và tôi đã có một ý tưởng khác. Trong câu hỏi của bạn, bạn đề cập đến việc bạn không muốn người dùng nhảy qua các vòng và đề xuất rằng đăng ký/xác thực sẽ được coi là "vòng". Điều gì xảy ra nếu đăng ký không have để trở thành một hoop? Bạn có thể làm cho quá trình đăng ký trở nên đơn giản đến mức người dùng sẽ không coi đó là lý do để không bỏ phiếu.

Ví dụ, tôi chỉ tìm hiểu về ui.stackexchange hôm nay và tôi muốn đi sâu vào và bắt đầu trả lời các câu hỏi/upvote/vv. ngay lập tức. Để làm điều đó, mặc dù, tôi đã phải đăng ký. Tuy nhiên, stackexchange sử dụng OpenID như một cách để tạo tài khoản của bạn, điều đó có nghĩa là với hai lần nhấp, tôi đã đăng ký tại đây và sẵn sàng để đi.

Đây có phải là một cái gì đó bạn có thể làm trên trang web của bạn? Không trực tiếp triển khai các công nghệ, có vẻ như OpenID, Facebook Connect, v.v ... tất cả đều cung cấp các cách nhanh chóng, dễ dàng để thêm xác thực vào trang web mà không buộc người dùng phải điền vào các mẫu đăng ký dài - tốt nhất của cả hai thế giới!

3
Dan

Kết hợp một vài khía cạnh khác nhau: địa chỉ IP, tác nhân người dùng, phiên bản Flash, v.v ... Nhận dạng kết quả sẽ không được đảm bảo là duy nhất 100%, nhưng nó gần với mục tiêu của bạn hơn là chỉ một IP.

2
Virtuosi Media

Câu hỏi bạn cần đặt ra là:

Vấn đề nghiêm trọng đến mức nào nếu người dùng bỏ phiếu nhiều lần?

Ví dụ: nếu có thứ gì đó thực sự bị đe dọa - tiền bạc, giải thưởng vật chất, v.v. thì sẽ có một sự cám dỗ lớn hơn để cố gắng gian lận phiếu bầu. Trong những trường hợp này, bạn có thể phải nhấn mạnh vào đăng ký người dùng (nhưng đi theo lộ trình OpenID/Facebook Connect như Dan Petker gợi ý có thể là cách ít đau đớn nhất ở đây).

Tuy nhiên, nếu "chỉ có niềm vui", bạn có thể sẽ tốn rất nhiều thời gian (và tiền bạc) khi cố gắng ngăn chặn điều gì đó mà hầu hết mọi người sẽ không đam mê. Số tiền bạn bỏ ra phải tỷ lệ thuận với chi phí gian lận của cử tri .

Tuy nhiên, đã nói rằng thật đáng kinh ngạc khi những nỗ lực mà một số người sẽ tìm đến các hệ thống bầu chọn "trò chơi" để tự thưởng cho mình nhiều điểm hơn, vì vậy cuối cùng bạn vẫn có thể đi theo lộ trình đăng ký đầy đủ.

2
ChrisF

Các kỹ thuật được EFF sử dụng cho dự án Panopticlick có thể rất phù hợp ở đây:

"Khi bạn truy cập một trang web, bạn đang cho phép trang web đó truy cập nhiều thông tin về cấu hình máy tính của bạn. Kết hợp, thông tin này có thể tạo ra một loại dấu vân tay - một chữ ký có thể được sử dụng để nhận dạng bạn và máy tính của bạn".

Các kết quả thống kê của thí nghiệm này có sẵn nhưng thông tin kỹ thuật được giới hạn trong một bài báo ngắn - cả hai đều được liên kết từ trang chủ. Tuy nhiên, nó cung cấp nguồn cảm hứng tốt về dấu vân tay trình duyệt, đây là công nghệ sẽ giải quyết hầu hết vấn đề của bạn.

0
Jean-Marc Liotier

Bạn có thể sử dụng cookie hoặc địa chỉ IP để đảm bảo họ không bỏ phiếu nhiều lần.

0
abrudtkuhl