21.2. Настройка доступа к статистике

По умолчанию клиентам разрешена авторизация по номеру договора и паролю статистики, пароль статистики изменяется на вкладке Web=>Пароль статистики договора. Для смены пароля наберите его в текстовой области, либо установите галочку авто и нажмите ОК.

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

Текущий пароль статистики, установленный после создания договора, можно посмотреть в полной карте договора (вкладка Карточки=>Полная карта в договоре).

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

Параметры авториазации на странице статистики задается в конфигурации сервера биллинга.

web.auth.modes=0:1

Данное значение стоит по умолчанию и обозначает, что разрешена авторизация на странице статистики по номеру договора + паролю (вкладка Пароль в карточке договора).

Также есть режим авторизации, который использует текстовый параметр договора в качестве логина:

web.auth.modes=0:2
# Код параметра договора, значение из которого будет использоваться в качестве логина.
web.auth.contract.text.parameter=<код параметра>

Страница авторизации пользователя формируется шаблоном login.xsl. В стандартной поставке шаблон содержит только форму авторизации по номеру договора (либо текстовому параметру договора) и паролю.

Внимание

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

Клиент работает на странице статистики до нажатия пункта меню Выйти, либо до истечения таймаута. При выходе со страницы статистики клиент перенаправляется на страницу, задаваемую опцией.

web.exit.redirect=about:blank

По умолчанию это пустая страница, но вы можете разместить здесть URL страницы провайдера.

Сервер определяет тип авторизации по передаваемому в форме авторизации параметру midAuth=<коду модуля>. Если параметр отсутствует - авторизация идет по номеру договора (либо текстовому параметру договора) + паролю доступа к статистике.

Пример 1.5. Пример авторизации по логину

Предположим что в системе существует модуль DialUP с кодом 21. Для того чтобы разрешить авторизацию через его логины с паролями нужно добавить опцию.

web.auth.modes=0:1;21:1

Теперь раскомментируйте вторую форму авторизации в login.xsl.

<form method="post" action="webexecuter">
<input type="hidden" name="midAuth" value="21"/>
 <table align="center" width="300px" class="filter" style="margin-top:20px;">
  <tr>
   <th align="left">Логин DialUP:</th>
   <td><input class="logon" type="text" name="user" SIZE="15"/></td>
  </tr>
  <tr>
   <th align="left">Пароль DialUP:</th>
   <td><input class="logon" type="password" name="pswd" SIZE="15"/></td>
  </tr>
  <tr>
   <td></td>
   <td><input type="submit" value="Вход" style="width: 100%; border: 1px solid #404040;"/></td>
  </tr>
 </table>
</form>

Теперь клиенту будет предлагаться два режима авторизации.

Аналогично можно добавить авторизацию по логину и паролю Voip-модуля. Возможно в midAuth-параметре формы передавать несколько модулей через запятую, 0 - код модуля ядра. При этом будет осуществлен последовательный поиск в указанных модулях. Модуль должен быть разрешен в web.auth.modes.

Так же для модуля Dialup есть отдельный режим авторизации по ip-адресу сессии. Пусть 21 - это код модуля Dialup, тогда этот режим настраивается так

web.auth.modes=0:1;21:2

Где 2- означает авторизацию по ip-адресу сессии. При этом сравнивается http-заголовок с ip-адресом переданный в http-запросе и Ip-адрес сессии абонента.

Имя http-заголовка, в котором хранится ip адрес, задается параметром

header.name.remote.addr=

в конфигурации сервера.

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

21.2.1. Восстановление пароля

С помощью системы восстановления пароля пользователь может произвести отправку пароля на E-Mail.

В поле Номер договора пользователь должен ввести номер своего договора, а в поле E-mail - почтовый адрес, который должен совпасть со значением текстового параметра договора, содержащим E-Mail-адрес для восстановления пароля. Код этого параметра указывается в конфигурации сервера биллинга contract.password.forgot.email.param.id=<числовой код параметра>.

При использовании функции восстановления пароля высылается письмо со ссылкой, перейдя на которую пользователь попадает на страницу смены пароля Web-статистики. Текст, тема письма и URL-сервера статистики задаются в конфигурации сервера биллинга.

21.2.2. Защита от подбора пароля

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

Временные характеристики защиты могут быть настроены в конфигурации сервера. Переменная logon.counter.max задает максимальное количество неудачных попыток авторизации для договора подряд. После каждой попытки может быть установлен таймаут, базовый размер которого определяется переменной logon.timeout.period. После первой неудачи таймаут равен периоду, после второй - двум периодам, затем трем и т.п. Алгоритм увеличения периода задается переменной logon.timeout.action. После исчерпания logon.counter.max попыток авторизации договор блокируется на время logon.timeout.lock секунд.

Оператору биллинга на вкладке Web договора доступны функции мониторинга доступа к Web-статистике.

На вкладке Входы отображаются входы на Web-статистику. На закладке Ошибки - ошибки авторизации с отображением введенных логина и пароля. Кнопка Разблокировать позволяет досрочно открыть закрытый из-за превышения количества неудачных попыток доступ к статистике.

Счетчик обращений и лимит обращений - это защита от автоматизации пользователями получения информации о балансе (написание различных скриптов, запрашивающих статистику, что ведет к сильной загрузке сервера), возможно установление лимита на количество обращений к статистике HTTP-запросов параметром web.max.day.request.count в конфигурации сервера биллинга.

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

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

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