2010-04-26 51 views
5

Tôi đang mã hóa biểu mẫu mục rút thăm trúng thưởng trong php nơi Người dùng gửi một số thông tin trong biểu mẫu và được lưu trữ trong cơ sở dữ liệu.Đầu vào biểu mẫu - Giới hạn một lần gửi cho mỗi IP/Máy tính

Tôi muốn tìm cách giới hạn biểu mẫu này cho một lần gửi cho mỗi người. Bỏ cookie hoặc theo địa chỉ IP. Cách tốt nhất để tiếp cận điều này là gì?

Tôi đang tạo mã trên trình kích hoạt mã, nếu điều đó tạo ra bất kỳ sự khác biệt nào.

Trả lời

2

Trả lời đơn giản, đăng nhập IP trong cùng hàng với kho thông tin. Nếu bạn làm một cookie một bot hoặc người dùng có thể dễ dàng loại bỏ các cookie phá hủy chương trình bảo vệ của bạn. Vì vậy, chỉ cần đăng nhập địa chỉ IP và sau đó truy vấn từng mục nhập cho tính duy nhất trước khi chấp nhận việc gửi.

0

Tại sao không thả cả hai. Ném cookie trên máy của người dùng. Sau đó, trong cơ sở dữ liệu giữ một trường có địa chỉ IP. Bằng cách đó, nếu họ có địa chỉ IP khác nhau (do cấu hình công ty internet nhất định), cookie có thể bắt được nó. Trường cơ sở dữ liệu sẽ phân phối an toàn hơn và sao lưu nếu mọi người không cho phép cookie. Tuy nhiên, những giải pháp này sẽ không dễ dàng 100%, bởi vì nếu một người đã thay đổi địa chỉ ip và không cho phép cookie, bạn có thể gặp vấn đề. Tôi sẽ kiểm tra các cookie được kích hoạt để giải quyết vấn đề này. Hãy thử đặt cookie và đọc nó. Nếu bạn có thể, bạn tốt để đi. Nếu không, hãy nhắc họ cho phép cookie.

Chúc may mắn nhất

+1

không phải là một cookie là xấu, nhưng bất kỳ kẻ lừa đảo quét mới làm quen sẽ ngay lập tức kiểm tra và xóa cookie giữa các thư rác, thủ thuật lâu đời nhất của nó trong cuốn sách. –

1

Cả hai đều có nhược điểm riêng của mình. Cookies rất dễ dàng để giả mạo và dễ dàng để loại bỏ mà sẽ cho phép nhiều phiếu bầu. Hạn chế theo IP tốt hơn nhưng địa chỉ IP có thể được chia sẻ trong mạng và cũng có thể được proxy để tránh bị phát hiện. Đặt cược tốt nhất là dựa vào một cái gì đó như địa chỉ email và buộc người dùng nhấp vào liên kết được gửi qua email để xác nhận phiếu bầu, phải thừa nhận rằng điều này không tuyệt vời.

0

Để thêm vào những người khác, bạn có thể yêu cầu đăng nhập/đăng ký để bỏ phiếu.

0

Như đã nêu, các cookie khác dễ bị giả mạo/xóa. IP khách hàng được xem cho một người dùng có thể thay đổi ngay cả giữa phiên và có thể có hàng nghìn người dùng chia sẻ cùng một địa chỉ khách hàng.

Địa chỉ email khó giả mạo hơn - và bạn có thể thêm giai đoạn xác minh vào quy trình - thông tin mà bạn cần chụp - nhưng hãy theo dõi tác nhân người dùng và địa chỉ khách hàng mà mỗi lần gửi bắt nguồn và được xác minh từ - sau đó bạn có thể đưa ra quyết tâm thông minh về người chiến thắng thay vì cố gắng kiểm tra mọi lần gửi.

C.

1

Có một số phương pháp bạn có thể sử dụng để giảm thiểu gian lận thông thường. Theo quan điểm của tôi, bạn không nên mong đợi để có thể ngăn chặn một gian lận xác định mà không có một quá trình xác nhận chính thức hơn (cc ủy quyền .. etc).

Phương pháp đơn giản nhất là để yêu cầu một địa chỉ cư trú để gửi hàng khi họ giành chiến thắng :)

Trước hết phủ nhận sự lừa đảo bất kỳ kênh thông tin phản hồi để có thể cho biết nếu nộp hồ sơ của họ đã được chấp nhận hoặc từ chối. Nếu có một sự chậm trễ nhỏ cho các mục được chấp nhận, hãy chắc chắn bạn thêm một sự chậm trễ giả mạo với một số jitter để họ không thể biết được kế hoạch của họ cho ngăn chặn phương pháp chống gian lận của bạn làm việc hay thậm chí nếu bạn có bất kỳ phương pháp chống gian lận nào cả. Phát hiện số lượng lớn các bản đệ trình của một kẻ lừa đảo dễ dàng hơn nhiều khi họ không cảm thấy họ cần phải sáng tạo.

Địa chỉ IP như bạn đã đề cập. Có lẽ sử dụng geoip, whois..etc để phân phối theo thời gian WRT.

Tác nhân người dùng và vân tay hệ thống - có một lượng thông tin khổng lồ bạn có thể nhận được từ trình duyệt có thể hoặc không thể là duy nhất. Loại trình duyệt, phiên bản, hệ điều hành, độ phân giải màn hình, độ sâu màu, phông chữ được cài đặt, plugin (flash, pdf, java ... vv) và số phiên bản, ngôn ngữ, trình duyệt giờ địa phương (log client clock skew)

Sử dụng cookie, có thể ẩn các tham chiếu đến một miền âm thanh vô tội trong một javascript kèm theo mà bạn cũng kiểm soát. Điều này có thể được sử dụng để tương quan việc xóa thủ công các cookie rõ ràng với các cookie ẩn. Nó ít được biết rằng các tập tin cookie cũng có thể được lưu trữ trong cơ sở dữ liệu riêng biệt của các plugin khác mà người dùng có thể có như trình phát flash. Chúng KHÔNG bị xóa khi cookie của trình duyệt bị xóa.

Sử dụng hình ảnh có tiêu đề bộ nhớ cache. Lần đầu tiên người dùng truy cập trang web sẽ hiển thị hình ảnh sau khi mục nhập của họ được gửi. Nếu họ đã điền vào biểu mẫu và họ gửi lại hình ảnh sẽ được lưu vào bộ nhớ cache và bạn có thể sử dụng sự vắng mặt của yêu cầu hình ảnh để giả định các mục được gửi là kết quả của gian lận.

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