BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 20 июн 2025, 03:58

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: SE100. ID абонента при HTTP-редиректе.
СообщениеДобавлено: 01 окт 2014, 18:09 
Не в сети

Зарегистрирован: 14 мар 2010, 03:38
Сообщения: 171
Откуда: Москва
Карма: 0
В SE100, через Reject-to-Accept, либо через CoA (судя по документации) можно отправить в HTTP-Redirect-Profile переменную %u (для RSE), в которой указать URL для редиректа на страницу с задолженностью.

Сразу же возник соблазн поставить в URL редиректа - CID, номер договора или еще что-то, что идентифицирует абонента. По идее, это значение будет уникальным для сессии (а может и нет). Но очень хочется проверить. Это нужно для того, чтобы пользователя сразу заредиректить в свой кабинет без ввода номера договора и пароля, т.е. без авторизации. Дополнительной проверкой будет сверка IP адреса на стороне вэб-сервера личного кабинета (свой скрипт на вэб-сервере, работающий с некоторыми реплицированными страницами таблицами биллинга) с тем что выдал BRAS и с тем, что видно в текущем коннекте по HTTP.

Так вот вопрос в том, что известно об абоненте в ServiceActivator что можно было бы без лишнего напряга при процессинге поставить в этот url чтобы в соотв. атрибуте вышло - http://stat.isp.ru/privet.php?ID=from_b ... E100_magic

_________________
Клиент: вер. 5.2 сборка 1219 от 19.08.2014 18:30:52
os: Linux; java: OpenJDK 64-Bit Server VM, v.1.6.0_31
Сервер: вер. 5.2 сборка 1607 от 29.08.2014 13:59:04
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_45

card вер. 5.2 сборка 206 от 06.05.2014 18:45:53
inet вер. 5.2 сборка 1337 от 27.08.2014 17:39:27
npay вер. 5.2 сборка 208 от 17.06.2014 13:35:03


Последний раз редактировалось alf_from_melmok 01 окт 2014, 20:27, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 окт 2014, 18:44 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
ID договора известно:
ServiceActivatorEvent e
e.getInetServRuntime().contractRuntime.contractId

Еще есть страница оповещения об ошибке, inet_connection_error.xsl
viewtopic.php?f=44&t=7962


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 29 окт 2014, 14:50 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
alf_from_melmok писал(а):
нужно для того, чтобы пользователя сразу заредиректить в свой кабинет без ввода номера договора и пароля, т.е. без авторизации

Хотите устроить небольшой DoS своему серверу ловя пакеты всяких торрентов и прочей шняги, которая лезет в инет через НТТР?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 31 окт 2014, 14:06 
Не в сети

Зарегистрирован: 14 мар 2010, 03:38
Сообщения: 171
Откуда: Москва
Карма: 0
М-да... а слона-то я не заметил...

А как же тогда народ с редиректами сидит?

Первое что пришло в голову - выловить User-Agent из HTTP и промолчать если это не IE, Mozilla или Chrome + браузеры мобильных платформ.
Но наверно есть и "хитрожопые" флудильни...

Хм, тогда как такой "План Б"?
Ставим сервер-прокладку там скрипт который ставит куки сбрасывает клиенту javascript, который делает уже редирект на сервер со страничкой welcome a board! Если на "той" стороне тупой http-клиент (расчет на то, что торрент клиент не имеет javascript engine). "Валидный" же браузер примет скрипт и переведет нашего клиента к нужной нам страничке - "пополните баланс".

В принципе...

Если в среднем с клиента например 5 запросов в секунду, то на 100 отключенных - 500 запросов в секунду, при статической отдаче ... м-да, надо конечно готовиться.
Еще надо учеть возможности самого SE100 - он ведь тоже ставит редирект насколько я понял через собственный встроенный веб-сервер.


Последний раз редактировалось alf_from_melmok 31 окт 2014, 15:21, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 31 окт 2014, 15:13 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
alf_from_melmok писал(а):
Хм, тогда как такой "План Б"?
Ставим сервер-прокладку там скрипт который ставит куки сбрасывает клиенту javascript, который делает уже редирект на сервер со страничкой welcome a board! Если на "той" стороне тупой http-клиент (расчет на то, что торрент клиент не имеет javascript engine). "Валидный" же браузер примет скрипт и переведет нашего клиента к нужной нам страничке - "пополните баланс".

Можно поставить nginx с таким конфигом
Код:
server {
    listen       some.IP.to.redirect:80 default_server;
    server_name  "";

    root        /path/to/docroot;
    access_log  off;
    error_log   /dev/null;

    add_header  Cache-Control no-store;
    add_header  Last-Modified "Thu, 01 Jan 1970 00:00:01 GMT";
    expires     epoch;

    if ($http_user_agent !~* (MSIE|Firefox|Opera|Safari|Chrome)) {
        return 404;
    }

    location / {
        ssi on;
        index   index.html;
        try_files $uri $uri/ @error;
    }

    location /favicon.ico {
        empty_gif;
    }

    location ~ /\. {
        error_page 403 = @error;
        deny all;
    }

    location @error {
        rewrite ^ /? permanent;
    }
}

В index.html, по вкусу, рисуем либо текст "печаль-беда, инетема кирдык", либо редирект.
Инструкция:
Код:
ssi on;

Позволит использовать SSI конструкции типа:
Код:
<!--# echo var="REMOTE_ADDR" default="127.0.0.1" -->

Для теста можете сделать так:
Код:
<html><head><title></title></head><body>IP Address: <!--# echo var="REMOTE_ADDR" default="127.0.0.1" --></body></html>



Изображение


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 31 окт 2014, 18:20 
Не в сети

Зарегистрирован: 14 мар 2010, 03:38
Сообщения: 171
Откуда: Москва
Карма: 0
snark, спасибо за идею!

Вообщем понятно, что сервер обрабатывающий редиректы нужен отдельный со своей кухней по фильтрации. Должен держать на отдачу, как минимум 1000 запросов в секунду на первое время (смотря какая у кого сеть). Иначе весело будет.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 31 окт 2014, 19:16 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
alf_from_melmok писал(а):
понятно, что сервер обрабатывающий редиректы нужен отдельный со своей кухней по фильтрации. Должен держать на отдачу, как минимум 1000 запросов в секунду на первое время (смотря какая у кого сеть). Иначе весело будет.

На самом деле можно поднять nginx где угодно, хоть на биллинге, только директорию с файлами, которые будете отдавать при редиректе лучше расположить прямо в RAM, т.е. тупо сделать диск в памяти на 128МБ, смонтировать его и положить туда файлы и для редиректа и для локального спидтеста (ему надо ~100МБ).


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.042s | 30 Queries | GZIP : On ]