Làm thế nào để unsubscribe email
Chào anh Dũng và mọi người,
Em đang nghiên cứu làm chức năng unsubscribe email
Sau khi xem qua tính năng này ở một số website thì unsubscribe url sẽ có path chứa 1 chuỗi các kí tự random.
Vì vậy, em dự định sẽ encode/decode user pk sang uid string để identify người dùng khi họ request to unsubscribe.
Em ko rõ liệu như vậy đã an toàn hay chưa (1) ? vì em có liên hệ sang tính năng password reset thì 1 vài open-source project dùng kết hợp uid-token. Phần token ấy em chưa hiểu rõ mục đích của nó nên k có ý định sử dụng (2)
Rất mong anh Dũng và mọi người giải đáp giúp e 2 vấn đề trên ạ. Em cảm ơn
mail
Remain: 5
2 Answers
tvd12
Enlightened
tvd12
Enlightened
anh chưa hiểu tính năng unsubscribe này là gì, em có thể mô tả kỹ hơn hoặc cho anh xem 1 website demo được không?
-
0
tvd12
Enlightened
tvd12
Enlightened
Liệu em có đang suy nghĩ phức tạp quá không nhỉ? Về tính năng subscribe này trước đây anh làm thì chỉ đơn giản là tạo ra 1 bảng để lưu danh sách những thằng subscribe kiểu:
table subscriber {
email varchar,
unsubscribe_token varchar
}
còn nếu của em là user có sẵn và chỉ phục vụ user có sẵn thì có thể thay email bằng user_id. unsubscribe_token thì là 1 chuỗi uuid random là được em ạ, hoặc em có thể sử dụng jwt token (với userId và thời gian hết hạn ở payload) cho cái token đó cũng ok. Cách này sẽ tách biệt với authenticated token của user, vì vậy ngay cả khi token này bị lộ thì cũng không có rủi ro bảo mật gì xảy ra cả.
Khi gửi mail thì kèm link kiểu: https://example.com/unsubscribe?token=xxxx.Hoặc là tạo html form cho nó submit dạng post lên server với cái token kia, nếu tìm thấy subscriber với token thì xoá đi bản ghi là xong em ạ.
Nếu chưa đúng ý mà em muốn hỏi, em có thể chỉ giúp anh xem anh trả lời chưa đúng ý nào em nhé.
-
0