Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.


Отписка от рассылки в один клик

Не люблю я подписки, но тут пришлось сделать рассылку. Выпуск формируется автоматом, все как надо, но суть не в этом. Естественно надо дать возможность отписаться. Причем отписаться в один клик. Вот решил наработкой поделиться.


Я кстати объявил бойкот тутошнему движку и не собираюсь здесь коды писать :)

Сразу скажу, что работает только на схеме "персонально каждому подписчику", но я удивлюсь, если кто-то отправляет иначе, если только не группа людей.

Итак, по порядку.

1. В выпуск добавляем ссылку отписки: http:// www.site.ru/personal/unsubscribe/?mid=#MAIL_ID#&mhash=#MAIL_MD5#
Да, именно с масками, никаких реальных значений.

2. В init.php помещаем данный код: http://www.d-it.ru/other/?f=unsubscri...e_init.php
В GetMailHash советую добавить свою соль, зачем это применяется - опишу чуть ниже. Причем менять только раз и никогда больше.

3. Кидаем компонент на страницу отписки. Скачать его можно тут.

Теперь вкратце как работает алгоритм.

Перед отправкой выпуска каждому конкретному подписчику с помощью кода в init.php подменяются маски - ID подписки и код, основанный на хеше. По идее там можно что угодно написать, главное чтобы злоумышленник не догадался. Хотя, пару mail+ID уже сложно угадать.

Когда пользователь переходит по ссылке, проверяется соответствие хеш+пара (опять с помощью данной функции хеша) и его отписывают. Ему выводится сообщение (после проверки кода и хеша)

Вы действительно хотите отписаться от рассылки на адрес ******? Для подтверждения нажмите эту ссылку.
Если он жмет ссылку, то происходит отписка, вот и вся наука.

 

 

Источник: http://dev.1c-bitrix.ru/community/webdev/user/11948/blog/1208/

Назад в раздел

Подписаться на новые материалы раздела:














CAPTCHA