Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Перехват запроса. / 20 сообщений из 20, страница 1 из 1
25.04.2003, 13:29
    #32148839
Mich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перехват запроса.
Hi all!
А можно ли средствами сервера перехватить запрос определенной сессии, исправить его и отдать на обработку. Или перед тем как данные уйдут клиенту их несколько изменить?
...
Рейтинг: 0 / 0
25.04.2003, 13:44
    #32148875
Delerium
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перехват запроса.
Napishi svoj listener. Dumaju, shto tak sdelatj budjet prosche chem haknutj kernel Oracle RDBMS'a.
Drugoi variant - proslushivaj setj i menjai vsjo na urovnje setji.
Vsjo ravno legche budet napisatj svoj listener.
...
Рейтинг: 0 / 0
25.04.2003, 13:51
    #32148886
no name
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перехват запроса.
Можно наверное сделать вьюху вместо таблици (к которой идет запрос).
...
Рейтинг: 0 / 0
25.04.2003, 14:31
    #32148952
Mich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перехват запроса.
2 Delerium
Шутник однако.

2 no name
Запрос идет к системной вьюхе, что либо менять - может боком выйти. Пробовал навесить политику (мне вообще-то надо некоторые строки убрать) не получается. Можно даже на запрос к этой вьюхе возвращать пустое множество, может есть идеи?
...
Рейтинг: 0 / 0
25.04.2003, 14:35
    #32148956
Scott Tiger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перехват запроса.
Давай конкретнее. Я вчера как раз подобный вопрос решил.
...
Рейтинг: 0 / 0
25.04.2003, 14:48
    #32148972
Mich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перехват запроса.
2 Scott Tiger
Все предельно конкретно: Отвратная прога лезет в v_$session что бы определить сколько ее экземпляров работают с базой. Если кол-во юзеров больше чем кол-во лицензий - сам понимаешь. А поскольку я сильно не согласен с ценовой политикой, проводимой производителем этой прилады, надо ее как-то обламывать. Совершенно без проблем хакнул екзешник, но несколько лицензий все таки есть, поэтому есть подписка на новые версии, а с каждой новой версией разбираться с екзешником... Надо решать проблему радикально!
...
Рейтинг: 0 / 0
25.04.2003, 14:52
    #32148976
AI
AI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перехват запроса.
2 Mich

Проще переопределить v_$session - это возможно, хотя условие where будет весьма замысловатым. Но в следующей версии разработчики могут делать запрос в sys.v$session, и тогда хакерство ядра оракла или написание listener станет суровой необходимостью.
...
Рейтинг: 0 / 0
25.04.2003, 14:53
    #32148978
Delerium
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перехват запроса.
Bolshe njebudu shutitj:

Kak eta proga podkljuchajetsja k aze? Kak sys ilji system? Togda ploha. Jeslji podugomu, togda prosta sozdaj synonym:

SQL> create synonym v_$session for a;
Synonym created.

SQL> select * from v_$session;
A
----------
1
...
Рейтинг: 0 / 0
25.04.2003, 14:56
    #32148984
Mich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перехват запроса.
P.S Он обращяется к sys.v_$session, так что фейковая вьюшка в схеме вопрос не решит.
...
Рейтинг: 0 / 0
25.04.2003, 14:56
    #32148985
ora600
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перехват запроса.
Как в v$session определяется кол-во запущенных прилад ? по колонке PROGRAM ? А экзюк переименовать ?
...
Рейтинг: 0 / 0
25.04.2003, 15:01
    #32148994
AI
AI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перехват запроса.
А что такое sys.v_$session? Это самая обычная вьюшка, она не встроена в ядро, как sys.v$session. Ее запросто можно переделать под свои нужды. Я все время забавляюсь с v_$parameter, чтобы видеть все параметры, в том числе и начинающиеся с '_'.
...
Рейтинг: 0 / 0
25.04.2003, 15:16
    #32149016
va_kochnev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перехват запроса.
Если программа лезет к sys.v_$session запросом вида
select count(*) from sys.v_$session where program='лицензионна программа'
то во вьюшке можно столбец program заменить на decode(program,'лицензионна программа','ха-ха-ха',program)
...
Рейтинг: 0 / 0
25.04.2003, 15:19
    #32149019
Mich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перехват запроса.
2 ora600
Нет.
select count ( *) from sys.v_$session where USER# =UID and STATUS <> 'KILLED'
У нее есть табличка, где прописаны все юзеры и их пароли (в контексте приложения, в Oracle они не существуют), их количество ограничеввается лицензией, проверяется непонятно как, но это не в тему. Прога не дает двум псевдоюзерам работать в базе. Это предлагаю принять за данность и попробовать не дать программе определить сколько уникальных псевдоюзеров работает сейчас.
Не слишком заморочил?..
...
Рейтинг: 0 / 0
25.04.2003, 15:36
    #32149044
Delerium
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перехват запроса.
Peresozdaj view v_$session tak:

create or replace view v_$session as select * from v$session where (case when user='USERNAME' then 1 else 0) = 0;


V mestje 'USERNAME' postavj username katorij izpoljzujet programma pri podkljuchenjije.
...
Рейтинг: 0 / 0
25.04.2003, 15:40
    #32149052
Delerium
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перехват запроса.
Izvinjajusj, statement dolzhen bitj takim:

create or replace view v_$session as select * from v$session where (case when user='USERNAME' then 1 else 0 end) = 0;


Propustil END :(
...
Рейтинг: 0 / 0
25.04.2003, 15:44
    #32149058
Violina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перехват запроса.
to Delerium

А это не повлияет на работу базы, ведь вью тогда не будет поставлять реальной информации? Другими словами, используется ли вью v_$session только для предоставления информации пользователям?
...
Рейтинг: 0 / 0
25.04.2003, 15:46
    #32149061
Mich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перехват запроса.
2 Delerium
Не понял. И что будет? Тестовый сервер пару часов назад умер, а на production пробовать то что не понимаю выше моих сил. А как насчет других прилад использующих эту же view? Можно поподробнее?
...
Рейтинг: 0 / 0
25.04.2003, 15:48
    #32149063
Delerium
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перехват запроса.
Potomu i ja vstavil takoj "where" v zaprose, katorij menjajet povedenjije view'a tolka jeslji k view'u obraschajetsja konkretnij user.

Mozhno idtji i dalzhe i peredelatj v_$session tak, shtobi pomenjalsja tolko konkretnij UID v etom view'e. A mnje ljenj delatj takoj skript :)
...
Рейтинг: 0 / 0
25.04.2003, 15:55
    #32149071
Delerium
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перехват запроса.
Mich, Tvoja apliacija podkljuchajetsja k baze izpoljzuja konkretnij username/password, nje tak lji? Jeslji tak peredelatj view v_$session, togda tolko dlja etovo usera select count(*) from sys.v_$session budet 0 a dlja drugih userov vsjo budet kak obichno.
...
Рейтинг: 0 / 0
25.04.2003, 16:17
    #32149112
Mich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перехват запроса.
OK, подумаю. А пока предложение перенсти дисскусиию на понедельник, ибо рабочий день у меня закончился, а dial-up из дома в провинции это что-то. 2400 максимум. Да лучше не заморачиваться! На все предложения постараюсь ответить, а пока прошу меня извинить, дамы и господа.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Перехват запроса. / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]