Как заставить пользователя принять лицензионное соглашение перед загрузкой

Я использую мой сайт WordPress для хранения загрузок, среди прочего. Согласно немецкому законодательству, я должен заставить пользователя принять лицензионное соглашение до того, как сможет загрузить программу.

Я думаю о отображении лицензионного соглашения во всплывающем окне, аналогичном тому, как это делает Codeplex (см. Эту страницу и нажмите на загрузку). Как это легко сделать в WordPress?

Не имея возможности найти что-либо, я, наконец, пошел вперед и создал WordPress плагин Условия перед загрузкой . Из описания плагина:

Условия Перед загрузкой добавляет короткий код, который можно использовать вместо привязок HTML для ссылки на загружаемые файлы. Если щелкнуть такую ​​ссылку, всплывающее диалоговое окно показывает условия и условия (EULA), которые должны быть приняты для начала загрузки.

Сроки и условия читаются на странице WordPress. Таким образом, существует только одно место для сохранения терминов, и их можно легко отображать независимо от плагина.

Плагин поддерживает Google Analytics для отслеживания количества загрузок.

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

Я также столкнулся с подобной проблемой и не могу найти конкретный плагин для решения проблемы. Из-за этого, это будет должно быть заказным решением печально. Вот что я вижу в качестве потенциальных решений: (Я использую плагин Download Monitor WordPress для отслеживания загрузок и имеет функцию «Force Download», которая скрывает фактический URL-адрес файла AFAIK)

  • Включить «Только файл-член?» особенность плагина.
    • Это полезно для определенных файлов, поскольку я могу заявить, что вы использовали предварительно созданный Login / Password, чтобы согласиться с EULA (со ссылкой) и загрузить файл (сайт не разрешает регистрацию, поэтому он будет ограничен тем, какие учетные записи создаются Проблема заключается в том, что я не думаю, что это очень удобный способ контроля процесса соглашения EULA и правильно подтверждает правильность EULA, если они просто продолжают использовать учетные данные для входа.
  • Внедрить javascript на стороне клиента, который скрывает ссылку до тех пор, пока они не будут подписаны в EULA (checkbox / etc), аналогично тому, как веб-сайт Oracle должен подписаться на конкретные соглашения. Как только они согласятся, ссылки активируются, и они могут нажимать на них для загрузки.
    • Основная проблема заключается в том, что люди могут сохранять URL-адрес файла (nd copy / paste в электронной почте / другом сайте и просто загружать файл после этого без соответствующего подписания EULA).
  • Измените плагин, чтобы проверить наличие поля cookie, которое разрешено на странице EULA, которую пользователь должен пройти первым.
    • Не предпочитайте эту функцию, как если бы плагин обновлялся, он мог бы сломать код.
  • У меня есть плагин для создания пользовательского URL загрузки, который перенаправляет http://somesite.com/download/filename.zip значение по умолчанию /wp-content/plugins/download-monitor/download.php?id=1. Я могу сделать предварительное перенаправление на страницу / шаблон PHP проверки EULA, чтобы увидеть, что для его соответствия нужно согласие с EULA, и если это согласовано, то нажмите файл.

Это лучший способ обработки, поскольку он настраивается, не разбивает плагин, люди могут безопасно обмениваться файловым URL-адресом и все еще иметь подпись EULA и должны быть довольно просты в реализации. Я не выполнил решение, но не вижу серьезных проблем (предположим, что вы знакомы с использованием шаблона плагина по умолчанию в качестве руководства по реализации запросов / проверки кода).

Джейсон

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