Tôi thường gửi liên kết chứa userid và khóa kích hoạt. Khi họ truy cập kịch bản kích hoạt của tôi, nếu tôi tìm thấy một trận đấu, tôi kích hoạt chúng.
Khi đăng ký, tôi sẽ tạo 32 ký tự chữ hoa và chữ thường và đặt nó làm khóa kích hoạt. Tại thời điểm này, bạn có thể tạo một trường có tên là 'đã kích hoạt' hoặc bạn có thể giả định rằng người dùng không được kích hoạt nếu họ có khóa kích hoạt.
uid | email | key
------------------------------------------------------------
001 | [email protected] | e09141f3f5a17fed6222fc0279b9afdf
------------------------------------------------------------
002 | [email protected] |
------------------------------------------------------------
Khi người dùng truy cập các tập lệnh kích hoạt, chỉ cần kiểm tra các phím được cung cấp cùng với các id cung cấp và nếu kết hợp được tìm thấy, xóa phím từ hồ sơ người dùng trong hồ sơ (hoặc cập nhật boolean của bạn 'kích hoạt' và mở cửa ra.
Nếu địa chỉ email được cung cấp không tồn tại, không bị mất. Bạn có thể xóa tất cả các hàng bằng các khóa sau một tháng không hoạt động.
đẹp! cảm ơn rất nhiều! btw để tạo ra một khóa nào bạn nghĩ md5 (uniqid()); sẽ ổn thôi? không muốn 2 người dùng có cùng khóa: P – Martin
md5 của cùng một uniqid sẽ vẫn giống nhau - bạn chỉ có thể sử dụng tiền tố (có thể là md5 email của họ) cho uniqid hoặc sử dụng cờ 'entropy' nhiều hơn của id uniq – eCaroth
thông minh . nghĩ rằng tôi sẽ đi với md5 (email); thx – Martin