Ваши ссылки для отписки могут выглядеть так: http://host/application/unsubscribe?address=example@example.com&token=598bbdf39bc8f27b07fe85b6a7dd8decef641605
Создайте токен, используя адрес электронной почты и магический токен. В идеале вы должны использовать HMAC с SHA256, но даже просто sha1 должно быть «достаточно хорошим»:
$ echo "secret token example@example.com" | sha1sum
598bbdf39bc8f27b07fe85b6a7dd8decef641605 -
Часть secret token
будет исправлена в вашем приложении, а example@example.com
должен соответствовать адресу электронной почты.
Конечно, если секретный токен когда-либо будет раскрыт, вы вернетесь ко всем, кто отписался от всех. Вы также можете хранить магические токены для каждого пользователя в своей базе данных, чтобы проверять токены в URL-адресах, что будет не намного сложнее, чем это, и определенно намного безопаснее.