2009-06-25 35 views
6

Cuộc thăm dò/bình chọn/khảo sát duy nhất tôi có ý nghĩa ở đây là, người dùng chỉ có thể bỏ phiếu một lần. Làm thế nào để làm điều đó? Theo dõi ip của họ? Đăng nhập? Bên cạnh đăng nhập, còn gì nữa? (đăng nhập là lựa chọn cuối cùng của tôi, do đó bên cạnh đăng nhập, tôi có thể làm gì khác không?)Tạo Thăm dò ý kiến ​​/ bình chọn/khảo sát độc đáo trong php

Trả lời

8

Để hạn chế số phiếu bầu cho mỗi người, bạn cần theo dõi người đó.

Bây giờ có thể có một số cách để làm điều đó, và tôi sẽ liệt kê chúng với ưu và nhược điểm của chúng. Của nó cho bạn để quyết định phương pháp phù hợp với bạn nhất.

  1. thông tin đăng nhập: điều này sẽ cung cấp cho bạn quyền kiểm soát cuối cùng. Nhưng nó cũng hơi cồng kềnh cho người dùng. tùy chọn cuối cùng của bạn
  2. IP: cách bạn xử lý mọi người sau proxy trên web? Làm thế nào về những người có kết nối quay số và/hoặc IP động?
  3. cookie: điều này phù hợp cho các cuộc thăm dò ngắn hạn, vì vậy bạn có thể đặt hết hạn cookie vào thời điểm cuộc thăm dò ý kiến ​​kết thúc. Tuy nhiên, nhược điểm tiềm tàng là người dùng (tương phản với luser) sẽ biết cách xóa cookie!
  4. openId: Mặc dù phương pháp này không khác với phương pháp 'đăng nhập', điều này giúp người dùng đăng ký (thực sự là phần sux nhất về đăng nhập).

EDIT: vấn đề với tình huống này là bạn cần phải giải quyết nhận dạng của người dùng. Tôi nghĩ rằng OpenID thực hiện điều này khá tốt.

Chúc mừng,

jrh.

+0

Cảm ơn .. Tôi đã nghĩ về những giải pháp này, mà bạn là chính xác, mỗi người trong số họ có ưu và nhược điểm của nó ... Có cách nào khác u có thể nghĩ đến ?? – jingleboy99

+0

Tôi đề nghị bạn nên sử dụng phương pháp openid. nhưng nó phức tạp hơn một chút so với các hệ thống khác. – jrharshath

+0

Vâng, cảm ơn. Tôi chắc chắn sẽ kiểm tra openID. Bình chọn cho câu trả lời hay nhất .. :) – jingleboy99

2

Bạn luôn có thể lưu trữ cookie trên máy tính của họ. Tuy nhiên, hãy coi chừng, người dùng có thể dễ dàng vô hiệu hóa cookie hoặc sửa đổi nội dung của cookie. Không có phương pháp đáng tin cậy 100% nào để làm những gì bạn muốn làm - người dùng luôn có thể tạo tài khoản mới hoặc chuyển sang máy tính khác, v.v.

Nếu bạn muốn tiếp cận cookie, có ba khả năng.

  1. Bạn có thể lưu trữ một chút của văn bản nói người này đã bình chọn
  2. Bạn có thể lưu trữ một id duy nhất tham khảo bỏ phiếu của họ
  3. Bạn có thể lưu trữ một cookie phiên và lưu trữ các phần còn lại của các dữ liệu trên máy chủ (có thể an toàn hơn, vì họ không thể chỉnh sửa dữ liệu, chỉ có id phiên và làm như vậy có thể sẽ vô hiệu hóa nó).
0

Cách an toàn nhất là hệ thống đăng nhập.

Nhưng nếu bạn không muốn sử dụng, tôi sử dụng để thêm một băm chứa IP người dùng và trình duyệt phù thủy sẽ giúp tôi lọc ra một mức độ tốt hơn nhiều sau đó chỉ IP đơn giản (chuỗi trình duyệt có thể khác nhau cho những người khác nhau sử dụng cùng một trình duyệt, vì phiên bản, hệ điều hành và tiện ích mở rộng được cài đặt), nhưng bạn vẫn gặp sự cố nếu họ chuyển đổi trình duyệt, cùng một vấn đề với cookie. Hàm băm được lưu trữ trong cơ sở dữ liệu.

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