• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Идентификация удаленных пользователей

  • Автор темы vvlad
  • Дата начала
V

vvlad

Hi All!

Есть процедура в БД, которая получает данные из локальных сетевых ресурсов от имени работающего пользователя.
Соответственно эта процедура не работает, когда пользователь обращается к БД удаленно.

Возможно ли как-то программно идентифицировать удаленность текущего пользователя?


Платформа R8,5, доступ в БД только из Notes.

В голову лезут варианты:
1. парсить вывод ipconfig - результат не гарантирован, возможны совпадения;
2. сделать персональную настойку в профильном документе "работаю из локальной сети" или "работаю удаленно" - в идеале хотелось разобраться с этим вопросом без участия пользователя.

Может кто сталкивался? Подскажите куда копать?

Спасибо!
 
A

abbatik

Как полчаете? И что вы получаете?

Было бы не плохо увидеть кусок кода.

Я так понимаю из локейшена?
 
A

Akupaka

Возможно ли как-то программно идентифицировать удаленность текущего пользователя?
а чего ты хочешь этим достичь?.. в любом случае, если сетевой ресурс не доступен, то будет ошибка обращения.
показать юзер френдли сообщение? тогда пытаться отлавливать ошибку (on error), если система вернет ее в поток нотеса.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 940
609
BIT
210
вызов идет удалённо, для сервера домины, а потому он не знает - как клиент вошёл
инфу тащим средствами ОС...
 
A

allex

Проверить принадлежность пользователя к вашему серверу (хотя пользователь может и принадлежать...), если не свой, то по другому алгоритму

А если смотреть в локальный документ подключения, брать от туда интернет-имя и сравнивать его с IP/dns-nаmae локального компьютера.
Но было бы лучше , если бы записи имен IP/dns-nаmae серверов были одного формата (либо IP либо dns-name) - для простоты вычисления
 
V

vvlad

А если смотреть в локальный документ подключения...
Мне кажется не вариант - в подключении может быть что угодно, как IP так и DNS имя, подключений можт быть несколько....


А вот преобразовать имя сервера в IP адрес - это мысль.

Вот только как это лучше сделать - есть ли в лотусе средства для этого, или придется использовать nslookup ?
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
ну как по мне если это винда
можно в лотусе запустить ipconfig -> rez.txt
полученный файл обработать скриптом и четко понять удаленный это или свой, например на входе в какую нить БД ;)
 
A

allex

есть апишки, которые позволяют получить все, что требуется.
Абцалютно согласен. Кому-то разрешено ходить строго по струнке, а кому-то куда и с кем попало.

Можно использовать в профильном доке (без доп. ключей) сеть или список сетей, все что не входит в список - твое
 
T

turumbay

А вот преобразовать имя сервера в IP адрес - это мысль.
Вы сформулируйте - что есть локальность в вашем понимании.
Локальная сеть, 2 подсети. Шлюз с 2-мя интерфейсами 192.168.10.1/24 , 192.168.11.1/24
Cервер 192.168.10.2, клиент 192.168.11.2.
В такой конфигурации - клиент локальный или удаленный? По мне - так локальней некуда, хотя подсети разные...
ИМХО, в вашей задаче локальность = доступность сетевого ресурса. Тут парсинг ipconfig/ifconfig - ничего не даст.
Почему не пойти по пути, предложенному Akupaka: проверить доступность ресурса( напр. URLConnection.connect ) и в случае отлупа перейти к плану Б?
 
V

vvlad


А можно в этом месте поподробней?
Просто раньше не приходилось работать с api...



Вы сформулируйте - что есть локальность в вашем понимании.


Из локалки server.ru (Domino) резолвится в 192.168.1.1.
из вне в реальный адрес.

Соответственно исходя из этого и принимать решение.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 940
609
BIT
210

и упреждая вопросы:
import java.net.*
.....
System.out.println((InetAddress.getByName("server.ru")).getHostAddress());
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!