Управление доступом для пробной подписки - PullRequest
2 голосов
/ 17 сентября 2010

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

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

1) При отправке электронной почты создайте общий код, который добавляется к URL-адресу. Использование будет следовать за URL, и он будет проверять нашу БД на «ок» записи и пропускать / не пропускать их доступ. Это кажется нормальным, но ссылку можно передать или даже загрузить на общедоступный сайт, где любой может получить доступ.

2) Чтобы расширить вышесказанное, я подумал, что, возможно, у меня будет что-то вроде «однократного щелчка», когда, как только я узнаю, что ссылка нажата, она может истечь, поэтому любые последующие щелчки не будут выполнены. Недостатком является то, что если они щелкают, чтобы просмотреть и закрыть свое окно, все готово. Точно так же, если они нажмут и их компьютер выйдет из строя до завершения загрузки, они также будут заблокированы. Я не знаю, есть ли способ (в PHP для меня), чтобы подтвердить, что загрузка файла завершена ...

3) Я мог бы поместить файлы в каталог, например /trials/201009/r@nDomstr1n6.pdf, где файл загружен, а имя для ссылки случайное, так что было бы трудно догадаться. Тогда я мог бы использовать .htaccess для защиты папки каждого месяца с другим паролем. Это может быть утомительно и, скорее всего, будет раздражать пользователей.

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

Спасибо за любые идеи или указатели. D.

Ответы [ 3 ]

1 голос
/ 17 сентября 2010

Я бы сказал, сделайте это со случайным кодом для аутентификации для каждого адреса электронной почты, и срок действия истечет через 5 дней. Если вы ограничите доступ к ip, который первым попал в хеш URL, это тоже может сработать, но может принести пользу легитимным пользователям / клиентам.

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

Наконец, учтите, что если им нравится PDF-файл и он хочет поделиться им, они, вероятно, просто поделятся самим файлом PDF и не будут беспокоиться о ссылке.

0 голосов
/ 21 сентября 2010

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

Чтобы пользователь мог щелкнуть ссылку http://www.yourdomain.com/download_pdf.php?email=person@test.com

Сохраните таблицу со следующими данными для адресов электронной почты.

идентификатор EMAIL_ADDR read_date expire_date

Когда они нажимают на ссылку, проверяют, читали ли они ее раньше, и проверяют, не истек ли срок ее действия. Если это не так, подайте им файл в формате pdf, если он предоставил им страницу с надписью «Извините, срок вашей пробной версии истек ../"

Если он щелкнул первый раз, установите read_date, рассчитайте дату истечения срока и установите его.

Или, при желании, вы можете сгенерировать хеш или что-то и использовать хеш для идентификации пользователя вместо его адреса электронной почты.

Вы также можете настроить столбец загрузки в таблице и запретить им загружать его более двадцати раз или что-то еще, увеличивая столбец загрузки каждый раз, когда они нажимают на ссылку.

0 голосов
/ 17 сентября 2010

Во-первых, осознайте, что здесь вы можете сделать очень много.Вы разрешаете пользователям загружать PDF, после чего они могут делать с ним все, что им угодно (юридически или иным образом).Таким образом, предотвращение передачи ссылки не обязательно приведет к тому, что люди не смогут делиться или публиковать сам PDF.

Тем не менее, если вы хотите сделать его немного сложнее, вы можете сделать вариант своего предложения.# 2, в котором вы устанавливаете временную задержку до истечения срока действия ссылки после ее нажатия.Вы также можете ограничить количество раз, когда ссылка будет обслуживать файл.Поскольку у людей разные скорости соединения, а я не знаю, насколько велики ваши PDF-файлы, я не могу точно сказать, какой должна быть задержка, если вы решите ее использовать.

Как я уже сказал, хотяЕсли кто-то решит поделиться файлом, он может легко это сделать.

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