Доступ в интернет после просмотра рекламы

Вопросы, касающиеся установки и настройки всех программ сервера хотспота
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Доступ в интернет после просмотра рекламы

Сообщение Dmitry »

Уже несколько раз мне пришлось в личной переписке объяснять, как настроить данную функцию, поэтому решил описать ее тут (публично).

Итак, вы хотите предоставлять клиентам доступ в интернет после того, как они в течение какого-то времени будут просматривать какую-то вашу страницу (это может быть реклама, или еще что-то, не суть важно).

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

Код: Выделить всё

sudo mcedit /etc/chilli.conf
найдите в файле строку

Код: Выделить всё

#uamhomepage http://192.168.182.1/welcome.html
и во первых, раскомментируйте ее (удалите # в начале строки), а во вторых, укажите адрес и имя вашей страницы, которую вы хотите отображать клиентам (с рекламой, и т.п.). Если вы размещаете эту страницу прямо на сервере хотспота, то файл страницы должен находиться в папке /var/www.
Сохраните изменения в файле (кнопка F2) и выйдите из редактора (кнопка F10). После этого, чтобы изменения вступили в силу, chillispot нужно перезапустить командой

Код: Выделить всё

sudo /etc/init.d/chillispot restart
2. Чтобы клиенты могли потом авторизоваться и получить доступ в интернет, на этой вашей "домашней" веб-странице ОБЯЗАТЕЛЬНО должна присутствовать ссылка, озаглавленная как «Войти в интернет» или как-то иначе (на ваш выбор), но, однозначно указывающая, что ИМЕННО ЧЕРЕЗ нее клиент сможет попасть в интернет! Эта ссылка должна указывать на следующий адрес http://192.168.182.1:3990/prelogin
С другой стороны, вы можете пожелать, чтобы эта ссылка (кнопка) появлялась на странице не сразу, а спустя некоторое время (то есть, клиент гарантированно должен смотреть эту вашу "домашнюю" страницу в течение некоторого периода времени). Это может быть реализовано с помощью кнопки, изначально не отображаемой на странице, а "проявляющейся" только по истечении некоторого времени. Для этого в вашу страницу с рекламой нужно добавить два "блока кода". Первый из них должен размещаться в "шапке" страницы (т.е. между html-тегами <head> и </head>). Код такой:

Код: Выделить всё

<script type="text/javascript" language="JavaScript">
  function ShowLink1 () {
      document.getElementById('hidden').style.visibility="visible";
    }
  function MyDelay () {
      setTimeout('ShowLink1()', 5000);
    }
</script>
Этот код - две простые функции, написанные на javascript. Функция MyDelay делает следующее: "отсчитывает" 5 секунд (время указанно в миллисекундах (в примере кода это прописано как 5000, что в итоге и дает 5 секунд); при желании вы можете указать свое значение), а затем вызывает другую функцию - ShowLink1. В свою очередь, функция ShowLink1 делает видимым блок (имеющий идентификатор (id) hidden) с кнопкой, которая и позволяет клиенту авторизоваться и попасть в интернет.

Второй блок - это html-код самого блока с кнопки. Код такой:

Код: Выделить всё

<div id="hidden" style="visibility:hidden;">
   <center>
       <input type=button onClick="location.href='http://192.168.182.1:3990/prelogin'" value='Подключиться к интернету'>
</div>
Как видно, по умолчанию этот блок (с идентификатором (id) hidden) не отображается - это определяется параметром стиля style="visibility:hidden;". Впоследствии, приведенный выше код (две функции на javascript) делает этот блок видимым. Важно, чтобы идентификатор блока (id hidden) был уникальным в пределах "домашней" страницы. То есть, если на вашей странице уже будет присутствовать какой-то объект с идентификатором (id) hidden, то используйте тут какой-то другой (на свое усмотрение). Причем изменить его нужно будет в обоих блоках кода, показанных выше.

И последнее, что нужно сделать на такой "домашней" странице - указать, чтобы по окончании ее загрузки браузером запускалось выполнение скрипта (функции) MyDelay.
Для этого нужно у тега <body> дописать дополнительно инструкцию, чтобы в конечном итоге он стал выглядеть следующим образом:

Код: Выделить всё

<body onload="MyDelay()">
В результате, как только браузер клиента полностью загрузит вашу страницу (на которой в этот момент блок с кнопкой будет не виден), будет вызвана функция MyDelay. По истечении времени задержки, функция ShowLink1 изменит свойство блока с кнопкой, и он станет виден.

Пример того, как это происходит, можно посмотреть по ссылке:
Страница с кнопкой, появляющейся после некоторой задержки.
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Доступ в интернет после просмотра рекламы

Сообщение Dmitry »

Проскочила просьба одного клиента, сделать сразу рекламу непосредственно на самой странице авторизации. То есть, не "двухэтапная" авторизация, а сразу же на странице с рекламными картинками.
Что получилось, показано на рисунке по ссылке
http://wifi-hotspot.zp.ua/img_fast/Gues ... eclama.JPG
То есть, в центре страницы - 4 рекламных картинки.
Под ними кнопка для гостевого входа. Кнопка на странице появляется не сразу, а после некоторой паузы.
Skydreem
Сообщения: 298
Зарегистрирован: 28 май 2011, 14:51
Контактная информация:

Re: Доступ в интернет после просмотра рекламы

Сообщение Skydreem »

Если не секрет, где получилось? И куда вставить окно авторизации клиентов?)
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Доступ в интернет после просмотра рекламы

Сообщение Dmitry »

Не секрет, пока что эта штука лежит только у меня на сервере.

Страница делалась для только лишь гостевого входа после просмотра рекламы, так что полей для ввода логина и пароля на ней нет вовсе.
anoshin
Сообщения: 6
Зарегистрирован: 21 дек 2012, 14:24
Контактная информация:

Re: Доступ в интернет после просмотра рекламы

Сообщение anoshin »

Дмитрий, подскажите как быть следующей ситуации (с учетом изменений внесенных в страницу авторизации (показ рекламы) http://wifi-hotspot.zp.ua/forum/viewtop ... rt=70#p862) :

есть внешний (по отношению к серверу с установленным easyhotspot) сервер рекламы, например adv.reclama.ua. На нем есть скрипт вызываемый для показа рекламы login.php которому при вызове должны передаваться некоторые параметры. Например :

Код: Выделить всё

 login.php?param1=$param&param2=$param2
Соотвественно я в hotspotlogin.cgi в блоке содержащем вызов показа рекламы должен указать эту страничку :

Код: Выделить всё

$block = "<iframe src=\"http://adv.reclama.ua/login.php?param1=$param&param2=$param2\" 
frameborder=\"0\" 
width=\"100%\" 
height=\"99%\" 
scrolling=\"no\" 
vspace=\"0\" 
hspace=\"0\"></iframe>";
и в chilli.conf перечислить в uamallowed все внешние рекламные домены или ip адреса ?

в качестве параметров передаваемых серверу рекламы я могу указывать параметры определенные hotspotlogin.cgi ? например - мак-адрес ?

Подскажите можно ли в uamallowed указывать конструкцию вида *.google.com ?
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Доступ в интернет после просмотра рекламы

Сообщение Dmitry »

  1. да, так.
  2. 2. так как блок, определяющий фрейм с рекламой написан в самом начале hotspotlogin.cgi, то определение параметров клиента скриптом расположено уже после него. И указание параметра клиента бессмысленно (он будет еще пустой). Чтобы задействовать параметры клиента (например мак), нужно чтобы код, определяющий фрейм, находился после него. В таком случае, вы просто добавляете в свой адрес (если имеено мак-адрес), еще параметр как &paramX=$mac.
  3. судя по описанию
    --uamallowed domain
    Comma separated list of domain names, IP addresses or network segments the client can access without first authenticating. Example:
    --uamallowed http://www.chillispot.info,10.11.12.0/24

    This option is useful for access to a credit card payment gateway, for access to community and other free information as well as for access to a company VPN server without first having to login to the HotSpot.

    ChilliSpot resolves the domain names to a set of IP addresses during startup. Some big sites change the returned IP addresses for each lookup. This behaviour is not compatible with this option.

    It is possible to specify the uamallowed option several times. This is useful if many domain names has to be specified.
    шаблонов не предусмотрено...
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Доступ в интернет после просмотра рекламы

Сообщение Dmitry »

ВНИМАНИЕ!

ВСЁ ВЫШЕОПИСАННОЕ ПРЕТЕРПЕЛО МНОЖЕСТВО ИЗМЕНЕНИЙ И НА СЕГОДНЯШНИЙ ДЕНЬ - УЖЕ НЕ АКТУАЛЬНО!!!

Теперь ВСЁ НАМНОГО ПРОЩЕ!!!

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

Подробнее - всё описано в обновленной инструкции по индивидуализации хотспота
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Доступ в интернет после просмотра рекламы

Сообщение Dmitry »

Дополнительно к "вышесказанному" - ролик на Youtube, демонстрирующий авторизацию после просмотра рекламы:
https://www.youtube.com/watch?v=d6C0NgBJJPE
vitoua
Сообщения: 11
Зарегистрирован: 08 май 2014, 14:15
Контактная информация:

Re: Доступ в интернет после просмотра рекламы

Сообщение vitoua »

Усім доброго дня.У мене власне запитання, чи можна використовувати декілька гостьових тарифів буз пауз, котрі будуть обслуговувати різні NAS ID?
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Доступ в интернет после просмотра рекламы

Сообщение Dmitry »

по инструкции про "индивидуализацию хотспота" создаете на сервере несколько папок с несколькими страницами авторизации. В настройках каждой страницы пишите свой собственный гостевой тариф. также, в каждую папку нужно скопировать скрипт сброса гостевых ваучеров, а в cron прописать запуск всех их (скриптов сброса). и (почти) все....
Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей