Биллинговая система Nodeny
22 Ноября 2024, 09:32:50 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1] 2
  Печать  
Автор Тема: Страничка статистики пускает БЕЗ авторизации  (Прочитано 10736 раз)
Elisium
NoDeny
Старожил
*

Карма: 19
Offline Offline

Сообщений: 360


На форумах "спасибом" называется плюс к карме.


Просмотр профиля
« : 05 Марта 2011, 09:42:59 »

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

Так вот в чем проблема:
Есть некоторые клиенты (немного). У них стоит доступ "БЕЗ авторизации". В этих сегментах привязки по ипу нет.
Если хитрож*пый клиент просканит свою подсеть на предмет ипов, с которых пускает в инет без авторизации, он может поставить СЕБЕ такой ип. Тоесть, для биллинга будет уже ДРУГИМ клиентом. И его пустит на страничку такого клиента НЕ СПРАШИВАЯ логин/пароль.
Соответственно, он может вывести средства "куда-то". Например, на мобилу итд.

Поэтому вопрос: есть ли галка в биллинге/что(где) подправить в коде, что бы авторизацию спрашивало ВСЕГДА ? Или если есть возможность, то спрашивало только для клиентов с доступом "Всегда онлайн"?
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #1 : 05 Марта 2011, 11:02:46 »

На страницу статистики можно попасть:

1) по логину/паролю
2) авторизовавшись авторизатором

По-другому нельзя, ты тестил описанный случай? Может они другими методами попадают?
Записан
0xbad0c0d3
гуру nodeny )
NoDeny
Спец
*

Карма: 116
Offline Offline

Сообщений: 1059



Просмотр профиля
« Ответ #2 : 05 Марта 2011, 12:00:36 »

Конечно, у тебя есть такая удобная вещ, как показ иконки-ключика возле клиента если у него "всегда онлайн" и есть трафф? Если да, то тут причина понятна. На страницу статы пускает если поле auth='on', а с вышеописаной фишкой это поле будет 'on' и соответственно пустит на страницу. Я уже где-то на форуме писал решение сего вопроса но напишу еще и здесь...
Файл stat.pl (тот, что в ведомстве веб-сервера)
Находим:
Код:
196 $where=$id? "id=$id":"ip='$ip'";
197 $p=&sql_select_line($dbh,"SELECT * FROM users WHERE $where LIMIT 1");
Меняем:
Код:
196 $where=$id? "id=$id":"ip='$ip'";
197 $p=&sql_select_line($dbh,"SELECT * FROM users WHERE lstate=0 AND $where LIMIT 1");
Записан
Elisium
NoDeny
Старожил
*

Карма: 19
Offline Offline

Сообщений: 360


На форумах "спасибом" называется плюс к карме.


Просмотр профиля
« Ответ #3 : 05 Марта 2011, 12:28:17 »

По-другому нельзя, ты тестил описанный случай? Может они другими методами попадают?
Да, попробовал.

Конечно, у тебя есть такая удобная вещ, как показ иконки-ключика возле клиента если у него "всегда онлайн" и есть трафф? Если да, то тут причина понятна..
Да, есть конечно )) Фишка ж реально удобная )))))
Ок, вариант сейчас попробую.
Если на форуме и писалось, то с наскока не нашел ..(
Записан
Elisium
NoDeny
Старожил
*

Карма: 19
Offline Offline

Сообщений: 360


На форумах "спасибом" называется плюс к карме.


Просмотр профиля
« Ответ #4 : 05 Марта 2011, 12:55:31 »

Попробовал.
Не совсем работает )
Тоесть - появляется страничка авторизации с полями для ввода логина/пароля.
Ввожу верные логин/пароль - опять выбрасывает на этоже окошко (((
Ввожу НЕверные логин/пароль - пишет "Неверная авторизация"

... заменил  на
Код:
$p=&sql_select_line($dbh,"SELECT * FROM users WHERE lstate=0 AND $where LIMIT 1");
Записан
0xbad0c0d3
гуру nodeny )
NoDeny
Спец
*

Карма: 116
Offline Offline

Сообщений: 1059



Просмотр профиля
« Ответ #5 : 05 Марта 2011, 13:31:29 »

Да, я тупанул, там в выборке ничего не делай.
Это есть:
Код:
209 if (!$AUTH && $p->{auth} eq 'no') {&Login(); &Exit}
?
Должно быть. Делай так:
Код:
if (!$AUTH && ($p->{auth} eq 'no' || $p->{lstate})) {&Login(); &Exit}
Записан
Elisium
NoDeny
Старожил
*

Карма: 19
Offline Offline

Сообщений: 360


На форумах "спасибом" называется плюс к карме.


Просмотр профиля
« Ответ #6 : 05 Марта 2011, 14:22:58 »

Как ни прискорбно, но ситуация аналогичная (
Тоесть - появляется страничка авторизации с полями для ввода логина/пароля.
Ввожу верные логин/пароль - опять выбрасывает на этоже окошко (((
Ввожу НЕверные логин/пароль - пишет "Неверная авторизация"
Записан
0xbad0c0d3
гуру nodeny )
NoDeny
Спец
*

Карма: 116
Offline Offline

Сообщений: 1059



Просмотр профиля
« Ответ #7 : 05 Марта 2011, 22:03:50 »

Ты убрал из выборки lstate??
То есть вернул:
Код:
$p=&sql_select_line($dbh,"SELECT * FROM users WHERE $where LIMIT 1");
Записан
Elisium
NoDeny
Старожил
*

Карма: 19
Offline Offline

Сообщений: 360


На форумах "спасибом" называется плюс к карме.


Просмотр профиля
« Ответ #8 : 06 Марта 2011, 03:19:35 »

Ну да.
Само собой.
Записан
0xbad0c0d3
гуру nodeny )
NoDeny
Спец
*

Карма: 116
Offline Offline

Сообщений: 1059



Просмотр профиля
« Ответ #9 : 06 Марта 2011, 12:59:17 »

Ну тогда, что я делаю не так? Если у меня все ОК? Спецом проверил.
Записан
Elisium
NoDeny
Старожил
*

Карма: 19
Offline Offline

Сообщений: 360


На форумах "спасибом" называется плюс к карме.


Просмотр профиля
« Ответ #10 : 06 Марта 2011, 13:04:10 »

Хм. Перепроверю еще раз.
п.с. у нас билль 50.19. Но там, насколько могу судить, код почти не менялся в этом куске файла.
Записан
0xbad0c0d3
гуру nodeny )
NoDeny
Спец
*

Карма: 116
Offline Offline

Сообщений: 1059



Просмотр профиля
« Ответ #11 : 06 Марта 2011, 13:05:35 »

Ну я на 50.32. Кинь весь stat.pl
Записан
Elisium
NoDeny
Старожил
*

Карма: 19
Offline Offline

Сообщений: 360


На форумах "спасибом" называется плюс к карме.


Просмотр профиля
« Ответ #12 : 06 Марта 2011, 19:08:11 »

Да, всё на первый взгляд, работает, как хотелось  Веселый
п.с. В принципе, все и с первой попытки должно было заработать.
Я с тяжелого рабочего дня тупанул, признаю ))
п.п.с. Большое спасибо отзывчивому человеку ))
Записан
poxy.
NoDeny
Спец
*

Карма: 10
Offline Offline

Сообщений: 844



Просмотр профиля
« Ответ #13 : 08 Марта 2011, 16:36:07 »

Да, я тупанул, там в выборке ничего не делай.
Это есть:
Код:
209 if (!$AUTH && $p->{auth} eq 'no') {&Login(); &Exit}
?
Должно быть. Делай так:
Код:
if (!$AUTH && ($p->{auth} eq 'no' || $p->{lstate})) {&Login(); &Exit}
+1 спасибо!
Записан
Elisium
NoDeny
Старожил
*

Карма: 19
Offline Offline

Сообщений: 360


На форумах "спасибом" называется плюс к карме.


Просмотр профиля
« Ответ #14 : 08 Марта 2011, 21:59:41 »

Между прочим, по теме: БЕЗ этого исправления использование вышеописаной "фишки" (показ иконки-ключика возле клиента если у него "всегда онлайн" и есть трафик) чревато СЕРЬЁЗНЫМИ проблемами в плане безопасности пользовательских данных (первый пост темы).
Поэтому всем исправить в срочном порядке )

п.с. В той ТЕМЕ этого фикса вроде нет.

п.п.с. Возможно я опять открыл Америку и это у всех уже давно сделано ))
Записан
Страниц: [1] 2
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!