Безопасный способ отменить отказ - PullRequest
0 голосов
/ 09 мая 2018

Наше WebApp позволяет участникам отправлять электронные письма другим участникам и не членам для совместной работы. Поскольку я не хочу никого рассылать спам, каждое письмо, не принадлежащее пользователю, содержит ссылку для отказа от дальнейших рассылок. (Участники могут управлять своими почтовыми настройками из приложения).

Я хотел выполнить запрос на отказ, не сохраняя личную информацию, такую ​​как адрес электронной почты, в нашей системе, поэтому я выбрал реализацию на основе хеша. Перед отправкой электронного письма получатель проверяется снова в списке отказа.

Моя таблица отказа состоит из хэша адреса электронной почты и токена отмены:

 hash(lowercase($email)), hash($undo_token)

Жетон отмены отправляется пользователю вместе с подтверждением отказа, если они передумают. Этот токен необходим для удаления записи из таблицы отказа.

Однако, похоже, что люди удаляют эти письма, и мы получили несколько запросов, на которые они хотят вернуться.

Что такое безопасный, сложный для использования и автоматизированный способ отмены отказа?

Решение не должно позволять человеку подключаться к кому-либо еще. Мне также не хочется отправлять электронные письма на адрес, указанный в моем списке отказа, не будучи уверенным, что это они.

Я специально ищу ссылки / ссылки на достоверные и / или официальные источники. Спасибо.

1 Ответ

0 голосов
/ 18 августа 2018

Извините, у меня нет надежных источников для вас, но это только моя мысль. Я видел, что некоторые ссылки для отмены подписки выглядят как http://some-email-service.com?action=OptOut&secretToken=3648789036219699210blahblahblah. Они используют что-то вроде action=OptOut, переданное в качестве параметра GET. Если вы тоже используете подобный подход для отмены подписки на пользователя, почему бы вам просто не использовать action=UndoOptOut, чтобы отменить действие? Более того, если отправленное вами электронное письмо с подтверждением OptOut было удалено пользователем, то нет другого способа отменить его, кроме того, что пользователь снова явно подписался.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...