Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Web Ирбис и Z-Ирбис :  ИРБИС Irbis
 
Ограничение доступа по IP
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 09, January, 2007 20:08

Поступил вопрос от коллег из Саратова: можно ли ограничить некоторые базы данных для поиска по IP адресам?

Сейчас нельзя. Но ведь для режима "Импорт из Web-Ирбис" используется идентификация по IP. Знаить шлюз его определяет. Так почему бы не вынести эту информацию в модельное поле?
[PARAMETRS]
...
ClientIPTag=1102
...

Кажется мне, что сделать это не сложно. А ограничения по IP можно сделать в CGIFLC, просматривая какой-нибудь справочник, в котором будет находится информация об IP. Только нужно предусмотреть в справочнике возможность указывать, разрешать IP или запрещать. Так же можно продумать схему закытия по IP только определенной базы. По хорошему нужно еще указывать, какие команды может выполнять пользователь с определенным IP над определенной базой. Если делать схему по такому принципу, то файлами справочников не обойтись. В этом случае условия блокировки нужно прописывать жестко на этапе формально-логического контроля. Но зато уж больно все классно получается.

Re: Ограничение доступа по IP
Пользователь: Constantin (IP-адрес скрыт)
Дата: 10, January, 2007 10:41

Это давно сделано
URLTag=1100

см irbis_server.ini

[PARAMETRS]
Число найденных
SearchResultTag=1001
Реальный идентификатор читателя (если идентификация удачна)
ReaderIDTag=1002
Текущий термин словаря
DictTermTag=1003
Чило ссылок для текущего термина словаря
DictNDocsTag=1004
IP адрес браузера клиента
URLTag=1100
Результат выполнения команды записи R
RecUpdateResultTag=1101

Re: Ограничение доступа по IP
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 10, January, 2007 13:50

Значение - IP, а называется URL. Не, ну пора заканчивать такое безобразие.

Re: Ограничение доступа по IP
Пользователь: Денисова Лариса (IP-адрес скрыт)
Дата: 10, January, 2007 15:26

Поясню ситуацию, поскольку это наш вопрос. Web-Ирбис 5.2. Есть перечень доступных баз. Для пользователей нет никакой регистрации. Сейчас требуется для одной базы ограничить доступ (поиск) только для определенного диапазона IP-адресов. Из предыдущего, честно говоря, не совсем понятно, возможно ли это? Константин Олегович, разъясните для особо ...

Re: Ограничение доступа по IP
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 10, January, 2007 15:32

А вот в 5.2 я не помню. Есть это или нет. Лариса Алексеевна, сообщите, пожалуйста, есть ли у вас в файле irbis_server.ini в секции [PARAMETRS] параметр URLTag=1100. Если есть, то ограничение организовать можно.

Re: Ограничение доступа по IP
Пользователь: Денисова Лариса (IP-адрес скрыт)
Дата: 10, January, 2007 16:00

Там и секции такой нет.

Re: Ограничение доступа по IP
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 10, January, 2007 16:14

Вы не в тот файл смотрите. Один файл с таким названием лежит в директории DATAI, и еще один рядом с cgi. Вам нужно смотреть тот, который рядом с cgi.

Re: Ограничение доступа по IP
Пользователь: Денисова Лариса (IP-адрес скрыт)
Дата: 10, January, 2007 16:24

Да, есть.

Re: Ограничение доступа по IP
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 10, January, 2007 20:11

Значит ограничение по IP организовать можно. Для этого следует использовать формально-логический контроль. Файл ФЛК для веб-ирбис находится в папке DATAI\Deposit и называется он cgiflc.pft.
Условие на контроль должно быть примерно таким:
if v1100='ip.адрес.для.ограничения' and v2221='база' then '0' fi
Такой формат закроет для определеннг ip-адреса конкретную базу данных. Причем не только просмотр, но и любые операции. Если требуется запретить поиск по базе, то нужно добавить условие поиска v2222='S'. И так далее.

Re: Ограничение доступа по IP
Пользователь: Constantin (IP-адрес скрыт)
Дата: 11, January, 2007 15:41

Если требуется ограничить доступ по IP к базам данных
лучше всего скорректировать формат меню web_mnu.pft

После строки

(if &uf('+5Tdbn_web.mnu')<>'' then

добавим дополнительную проверку на IP и имя БД - запретим внешний доступ на БД TEST

if (&uf('+5Tdbn_web.mnu') <> 'TEST') OR
((&uf('+5Tdbn_web.mnu') = 'TEST') AND (&uf('Av1100.7#1') = '192.168')) then
,,,,

-----------здесь код web_mnu.pft----------

,,fi,,



Получится что-то вроде этого -
внимание! конкретный код зависит от версии и конкретной установки!!!

&uf('+1W2#',v1009)
&uf('+1W3#',v2226),
&uf('+1W4#',v2221),
&uf('+1W5#',&uf('+3E',v2225)),
&uf('+1W6#',v3331),
&uf('+1W88#'),

(if &uf('+5Tdbn_web.mnu')<>'' then

if (&uf('+5Tdbn_web.mnu') <> 'IBIS') OR
((&uf('+5Tdbn_web.mnu') = 'IBIS') AND (&uf('Av1100.5#1') = '127.0')) then

,,,,,

if &uf('+1R6')= &uf('+5Tdbn_web.mnu')
then
'<div class="navLeftNorm">',
'<img src="/irbis64r_61/images/db_navy.gif" width="20" height="20" style="border:1 solid white" align="left"/>',
&uf('+1W9#',F(val(&uf('+1R9'))+1,0,0)),
if &uf('+5Fdbn_web.mnu')<>'' then &uf('+5Fdbn_web.mnu'),&uf('+1W88#',&uf('+5Fdbn_web.mnu')), else &uf('+5Tdbn_web.mnu'),&uf('+1W88#',&uf('+5Tdbn_web.mnu')) fi,
'</div>',
else
if &uf('+1R6')=&uf('G1_',&uf('+1R4'))
then &uf('+1W1#',&uf('+5Tdbn_web.mnu')),&uf('+1W3#'),&uf('+1W2#'),
else
if (&uf('G1_',&uf('+1R4'))='_EX') or (&uf('G1_',&uf('+1R4'))='_PROF')
then &uf('+1W1#',S(&uf('+5Tdbn_web.mnu'),&uf('G1_',&uf('+1R4')))),&uf('+1W3#'),&uf('+1W2#'),
else &uf('+1W1#',&uf('G1_',&uf('+1R4'))),
fi,
fi,
'<a onmouseover=','"','return ref_hide()','" ','href=','"','/cgi-bin/irbis64r_61/cgiirbis_64.exe?C21COM=F&I21DBN=',&uf('+1R1'),'&P21DBN=',&uf('+5Tdbn_web.mnu'),'&S21FMT=',&uf('+1R2'),'&S21ALL=',&uf('+1R3'),'&Z21ID=',&uf('+1R5'),'">',
'<div class="navLeft">',
'<img src="/irbis64r_61/images/db_navy.gif" width="20" height="20" style="border:1 solid white" align="left"/>',
if &uf('+5Fdbn_web.mnu')<>'' then &uf('+5Fdbn_web.mnu') else &uf('+5Tdbn_web.mnu') fi,
'</div>',
'</a>',
fi

,,fi,,

else break fi),

&uf('+1W1#')
&uf('+1W2#')
&uf('+1W3#'),
&uf('+1W4#'),
&uf('+1W5#'),
&uf('+1W6#'),

Re: Ограничение доступа по IP
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 11, January, 2007 20:51

Ну так ведь это всего-лишь позволить скрыть ссылку от пользователя. Но реально доступ не закроется. Если я узнаю имена ваших баз, то с легкостью получу к ним доступ.
Однако такая корректировка тоже необходима. А уж чтоб быть полностью уверенным в результате, я бы еще всетаки закрыл базы приведенным мною образом.

Re: Ограничение доступа по IP
Пользователь: Денисова Лариса (IP-адрес скрыт)
Дата: 12, January, 2007 12:21

По совету Максима изменили cgiflc.pft.
Файл выглядит так:

if v1100='запрещенный IP ' and v2221='BAZA' then '0'/,
'IP='v1100/,
'DATABASE='v2221/,
'ERROR=для вас база не доступна' fi

В результате перехода по ссылке "Электронный каталог", получаем на экране
ERROR LOADING WEBMSG LIST

В чем наша ошибка?

Re: Ограничение доступа по IP
Пользователь: Денисова Лариса (IP-адрес скрыт)
Дата: 15, January, 2007 09:26

Корректировка файла web_mnu.pft по рекомендации разработчика так же не дала результата. Похоже, что v1100 не работает. Но почему?

Re: Ограничение доступа по IP
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 15, January, 2007 13:34

Проверить, что возвращает это поле легко. В любом фрейме (рекомендую footer_7.frm, т.е. в конец страницы) добавьте команду отдельной строкой
<!FORMAT='IP='v1100>
Такая команда должна вывести на экран определяемый IP-адрес.

Re: Ограничение доступа по IP
Пользователь: Денисова Лариса (IP-адрес скрыт)
Дата: 15, January, 2007 14:57

Мы уже проверяли, только на другом файле. На экран выводится: IP= и все.

Re: Ограничение доступа по IP
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 15, January, 2007 15:39

Значит это поле все-таки не заполняется. Претензии к Константину Олеговичу :).

Re: Ограничение доступа по IP
Пользователь: Constantin (IP-адрес скрыт)
Дата: 16, January, 2007 09:53

>>Мы уже проверяли, только на другом файле. На экран выводится: IP= и все.
Напишите на мой мэйл - я вышлю последнюю версию шлюза

Re: Ограничение доступа по IP
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 16, January, 2007 22:23

А мой адрес вы уже знаете :). Пожалуйста, Константин Олегович, и мне последнюю версию на почту.

Re: Ограничение доступа по IP
Пользователь: Денисова Лариса (IP-адрес скрыт)
Дата: 17, January, 2007 10:45

Мы пока ничего не получили.

Re: Ограничение доступа по IP
Пользователь: Constantin (IP-адрес скрыт)
Дата: 17, January, 2007 17:11

Я выслал на тот адрес который был в письме

Re: Ограничение доступа по IP
Пользователь: Денисова Лариса (IP-адрес скрыт)
Дата: 17, January, 2007 17:23

Не получила. Повторите, пожалуйста.

Re: Ограничение доступа по IP
Пользователь: Денисова Лариса (IP-адрес скрыт)
Дата: 26, January, 2007 16:55

Спасибо, Константин Олегович. С новым шлюзом все получилось.



Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.