Биллинговая система Nodeny

Главная категория => Nodeny 50 => Тема начата: Александр (AleksHr) от 12 Марта 2012, 08:56:08



Название: Админка NoDeny и другой сервис на том же адресе
Отправлено: Александр (AleksHr) от 12 Марта 2012, 08:56:08
Знаю, была уже тема, не могу найти, чтобы вспомнить чем все кончилось.

Но уже достало 3 раза логинится :), может есть решение чтобы при авторизации на другом сервисе (например stats.nodeny/adm и stats.nodeny/userside) nodeny не вываливался с админки :/. Если сначала авторизоватся по второму пункту, а потом по первому - то все работает. Но хотелось бы как нибудь пофиксить, так как необходимость очень часто юзать одновременно 2 сервиса.

Может кто уже решыл? Или поможет решыть?


Название: Re: Админка NoDeny и другой сервис на том же адресе
Отправлено: 0xbad0c0d3 от 12 Марта 2012, 10:18:54
После буквы: "Ж","Ч","Ш" только букву "И" пиши :D
сделать subdomain:
1. admin.billing.com
2. userside.billing.com
3. stat.billing.com


Название: Re: Админка NoDeny и другой сервис на том же адресе
Отправлено: Александр (AleksHr) от 13 Марта 2012, 08:40:06
Про субдомены вкурсе, интересует именно решение на том же домене.

З.Ы. Сори, но я в русском не очень грамотный, так что извиняюсь за ошыбки:).


Название: Re: Админка NoDeny и другой сервис на том же адресе
Отправлено: 0xbad0c0d3 от 12 Апреля 2012, 16:14:23
Кажется решение найдено, чисто случайно взглянул на то, как в ноденях выдерется значение из куков.
в общем, открываем файло web/calls.pl, находим там HTTP_COOKIE
Там будет такое:
Код:
if( $ENV{HTTP_COOKIE}=~/uid=(.+)/ )
Тут идет "жадный" регексп, без учета окончания значения (символ ";"), что не совсем по стандарту, следовательно, если будет еще какой-то сервис на этом домене, и он добавит свое значение в куки, не важно какое, то строка с куками приймет вид:
Код:
uid=blablabla; other_service=value;
И таким условием мы получим в значении uid вот это: blablabla; other_service=value;. А нас такой порядок вещей ниразу не устраивает нам нужно только blablabla
Короче, меняем эту строку на:
Код:
if( $ENV{HTTP_COOKIE}=~/uid=([^;]+)/ )
И должно привалить неменрянно счастья )))


Название: Re: Админка NoDeny и другой сервис на том же адресе
Отправлено: poxy. от 12 Апреля 2012, 16:58:38
Кажется решение найдено, чисто случайно взглянул на то, как в ноденях выдерется значение из куков.
в общем, открываем файло web/calls.pl, находим там HTTP_COOKIE
Там будет такое:
Код:
if( $ENV{HTTP_COOKIE}=~/uid=(.+)/ )
Тут идет "жадный" регексп, без учета окончания значения (символ ";"), что не совсем по стандарту, следовательно, если будет еще какой-то сервис на этом домене, и он добавит свое значение в куки, не важно какое, то строка с куками приймет вид:
Код:
uid=blablabla; other_service=value;
И таким условием мы получим в значении uid вот это: blablabla; other_service=value;. А нас такой порядок вещей ниразу не устраивает нам нужно только blablabla
Короче, меняем эту строку на:
Код:
if( $ENV{HTTP_COOKIE}=~/uid=([^;]+)/ )
И должно привалить неменрянно счастья )))

+100, и +1 к карме.


Название: Re: Админка NoDeny и другой сервис на том же адресе
Отправлено: Александр (AleksHr) от 17 Апреля 2012, 08:42:08
Спасибо! +1