Доступ в интернет после просмотра рекламы
Добавлено: 10 янв 2012, 13:06
Уже несколько раз мне пришлось в личной переписке объяснять, как настроить данную функцию, поэтому решил описать ее тут (публично).
Итак, вы хотите предоставлять клиентам доступ в интернет после того, как они в течение какого-то времени будут просматривать какую-то вашу страницу (это может быть реклама, или еще что-то, не суть важно).
1. Во первых, вам нужно настроить сам chillispot на показ так называемой "домашней" страницы. Когда эта функция включена, клиенту хотспот выдает не страницу авторизации, а эту самую "домашнюю" страницу. По умолчанию, в настройках chillispot-а эта функция выключена. Чтобы ее включить, введите команду:
найдите в файле строку
и во первых, раскомментируйте ее (удалите # в начале строки), а во вторых, укажите адрес и имя вашей страницы, которую вы хотите отображать клиентам (с рекламой, и т.п.). Если вы размещаете эту страницу прямо на сервере хотспота, то файл страницы должен находиться в папке /var/www.
Сохраните изменения в файле (кнопка F2) и выйдите из редактора (кнопка F10). После этого, чтобы изменения вступили в силу, chillispot нужно перезапустить командой
2. Чтобы клиенты могли потом авторизоваться и получить доступ в интернет, на этой вашей "домашней" веб-странице ОБЯЗАТЕЛЬНО должна присутствовать ссылка, озаглавленная как «Войти в интернет» или как-то иначе (на ваш выбор), но, однозначно указывающая, что ИМЕННО ЧЕРЕЗ нее клиент сможет попасть в интернет! Эта ссылка должна указывать на следующий адрес http://192.168.182.1:3990/prelogin
С другой стороны, вы можете пожелать, чтобы эта ссылка (кнопка) появлялась на странице не сразу, а спустя некоторое время (то есть, клиент гарантированно должен смотреть эту вашу "домашнюю" страницу в течение некоторого периода времени). Это может быть реализовано с помощью кнопки, изначально не отображаемой на странице, а "проявляющейся" только по истечении некоторого времени. Для этого в вашу страницу с рекламой нужно добавить два "блока кода". Первый из них должен размещаться в "шапке" страницы (т.е. между html-тегами <head> и </head>). Код такой:
Этот код - две простые функции, написанные на javascript. Функция MyDelay делает следующее: "отсчитывает" 5 секунд (время указанно в миллисекундах (в примере кода это прописано как 5000, что в итоге и дает 5 секунд); при желании вы можете указать свое значение), а затем вызывает другую функцию - ShowLink1. В свою очередь, функция ShowLink1 делает видимым блок (имеющий идентификатор (id) hidden) с кнопкой, которая и позволяет клиенту авторизоваться и попасть в интернет.
Второй блок - это html-код самого блока с кнопки. Код такой:
Как видно, по умолчанию этот блок (с идентификатором (id) hidden) не отображается - это определяется параметром стиля style="visibility:hidden;". Впоследствии, приведенный выше код (две функции на javascript) делает этот блок видимым. Важно, чтобы идентификатор блока (id hidden) был уникальным в пределах "домашней" страницы. То есть, если на вашей странице уже будет присутствовать какой-то объект с идентификатором (id) hidden, то используйте тут какой-то другой (на свое усмотрение). Причем изменить его нужно будет в обоих блоках кода, показанных выше.
И последнее, что нужно сделать на такой "домашней" странице - указать, чтобы по окончании ее загрузки браузером запускалось выполнение скрипта (функции) MyDelay.
Для этого нужно у тега <body> дописать дополнительно инструкцию, чтобы в конечном итоге он стал выглядеть следующим образом:
В результате, как только браузер клиента полностью загрузит вашу страницу (на которой в этот момент блок с кнопкой будет не виден), будет вызвана функция MyDelay. По истечении времени задержки, функция ShowLink1 изменит свойство блока с кнопкой, и он станет виден.
Пример того, как это происходит, можно посмотреть по ссылке:
Страница с кнопкой, появляющейся после некоторой задержки.
Итак, вы хотите предоставлять клиентам доступ в интернет после того, как они в течение какого-то времени будут просматривать какую-то вашу страницу (это может быть реклама, или еще что-то, не суть важно).
1. Во первых, вам нужно настроить сам chillispot на показ так называемой "домашней" страницы. Когда эта функция включена, клиенту хотспот выдает не страницу авторизации, а эту самую "домашнюю" страницу. По умолчанию, в настройках chillispot-а эта функция выключена. Чтобы ее включить, введите команду:
Код: Выделить всё
sudo mcedit /etc/chilli.conf
Код: Выделить всё
#uamhomepage http://192.168.182.1/welcome.html
Сохраните изменения в файле (кнопка F2) и выйдите из редактора (кнопка F10). После этого, чтобы изменения вступили в силу, chillispot нужно перезапустить командой
Код: Выделить всё
sudo /etc/init.d/chillispot restart
С другой стороны, вы можете пожелать, чтобы эта ссылка (кнопка) появлялась на странице не сразу, а спустя некоторое время (то есть, клиент гарантированно должен смотреть эту вашу "домашнюю" страницу в течение некоторого периода времени). Это может быть реализовано с помощью кнопки, изначально не отображаемой на странице, а "проявляющейся" только по истечении некоторого времени. Для этого в вашу страницу с рекламой нужно добавить два "блока кода". Первый из них должен размещаться в "шапке" страницы (т.е. между html-тегами <head> и </head>). Код такой:
Код: Выделить всё
<script type="text/javascript" language="JavaScript">
function ShowLink1 () {
document.getElementById('hidden').style.visibility="visible";
}
function MyDelay () {
setTimeout('ShowLink1()', 5000);
}
</script>
Второй блок - это html-код самого блока с кнопки. Код такой:
Код: Выделить всё
<div id="hidden" style="visibility:hidden;">
<center>
<input type=button onClick="location.href='http://192.168.182.1:3990/prelogin'" value='Подключиться к интернету'>
</div>
И последнее, что нужно сделать на такой "домашней" странице - указать, чтобы по окончании ее загрузки браузером запускалось выполнение скрипта (функции) MyDelay.
Для этого нужно у тега <body> дописать дополнительно инструкцию, чтобы в конечном итоге он стал выглядеть следующим образом:
Код: Выделить всё
<body onload="MyDelay()">
Пример того, как это происходит, можно посмотреть по ссылке:
Страница с кнопкой, появляющейся после некоторой задержки.