Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Возможно ли подменить значение userenv('Terminal')?  [new]
Кроик Семён
Member

Откуда: СПб --> Dortmund
Сообщений: 6743
Здравствуйте!

В скором времени планируют на фирме перевести почти всех сотрудников на Window Terminal Server.

Вот я и подумал, у меня во многих местах (триггеры, сохраненные процедуры) для протоколирования
используется наряду с переменной user еще и userenv('Terminal'). Так userenv('Terminal') будет для всех одинакова.
Можно ли ее поменять средствами PL/SQL?

Спасибо.
9 окт 08, 16:13    [6285876]     Ответить | Цитировать Сообщить модератору
 Re: Возможно ли подменить значение userenv('Terminal')?  [new]
Elic
Member

Откуда:
Сообщений: 30178
Нет.
9 окт 08, 16:21    [6285966]     Ответить | Цитировать Сообщить модератору
 Re: Возможно ли подменить значение userenv('Terminal')?  [new]
Denis Popov
Member

Откуда: Санкт-Петербург
Сообщений: 7862

Кроик Семён wrote:


> В скором времени планируют на фирме перевести почти всех сотрудников на
> Window Terminal Server.
>
> Вот я и подумал, у меня во многих местах (триггеры, сохраненные
> процедуры) для протоколирования
> используется наряду с переменной user еще и userenv('Terminal'). Так
> userenv('Terminal') будет для всех одинакова.
> Можно ли ее поменять средствами PL/SQL?
>

https://www.sql.ru/forum/actualthread.aspx?tid=528018

Posted via ActualForum NNTP Server 1.4

9 окт 08, 16:27    [6286028]     Ответить | Цитировать Сообщить модератору
 Re: Возможно ли подменить значение userenv('Terminal')?  [new]
Кроик Семён
Member

Откуда: СПб --> Dortmund
Сообщений: 6743
Спасибо!

А можно ли как-нибудь подсунуть новое значение до соединения с базой (использую DOA)?
9 окт 08, 16:52    [6286255]     Ответить | Цитировать Сообщить модератору
 Re: Возможно ли подменить значение userenv('Terminal')?  [new]
semirax
Member

Откуда:
Сообщений: 450
Elic
Нет.


Можно, товарищ, можно:)
Всего 10 строк кода.
9 окт 08, 17:36    [6286625]     Ответить | Цитировать Сообщить модератору
 Re: Возможно ли подменить значение userenv('Terminal')?  [new]
Elic
Member

Откуда:
Сообщений: 30178
semirax
Можно, товарищ, можно:)
Всего 10 строк кода.
Ну так дерзни :)
9 окт 08, 17:40    [6286660]     Ответить | Цитировать Сообщить модератору
 Re: Возможно ли подменить значение userenv('Terminal')?  [new]
semirax
Member

Откуда:
Сообщений: 450
Elic
semirax
Можно, товарищ, можно:)
Всего 10 строк кода.
Ну так дерзни :)


Выложил здесь, чтоб форум не подставлять (мало ли что):
9 окт 08, 17:45    [6286709]     Ответить | Цитировать Сообщить модератору
 Re: Возможно ли подменить значение userenv('Terminal')?  [new]
Кроик Семён
Member

Откуда: СПб --> Dortmund
Сообщений: 6743
спасибо,
но уж больно метод хакерский...
9 окт 08, 17:57    [6286819]     Ответить | Цитировать Сообщить модератору
 Re: Возможно ли подменить значение userenv('Terminal')?  [new]
Elic
Member

Откуда:
Сообщений: 30178
semirax
Выложил
Это ж практически то же, что и в ранее приведённой ссылке.
Только вот вопрос: есть ли в OCI интерфейс, подобный oradebug?
9 окт 08, 18:41    [6287006]     Ответить | Цитировать Сообщить модератору
 Re: Возможно ли подменить значение userenv('Terminal')?  [new]
semirax
Member

Откуда:
Сообщений: 450
Elic
semirax
Выложил
Это ж практически то же, что и в ранее приведённой ссылке.
Только вот вопрос: есть ли в OCI интерфейс, подобный oradebug?


Зачем OCI? Нам OCI не нужен.
9 окт 08, 19:10    [6287131]     Ответить | Цитировать Сообщить модератору
 Re: Возможно ли подменить значение userenv('Terminal')?  [new]
Elic
Member

Откуда:
Сообщений: 30178
semirax
Зачем OCI?
Ты в теме? Или нет :)
9 окт 08, 19:12    [6287138]     Ответить | Цитировать Сообщить модератору
 Re: Возможно ли подменить значение userenv('Terminal')?  [new]
semirax
Member

Откуда:
Сообщений: 450
Elic
semirax
Зачем OCI?
Ты в теме? Или нет :)

Тема называется remote shared memory access.

Только помоему не та это тема, извиняюсь
9 окт 08, 19:32    [6287200]     Ответить | Цитировать Сообщить модератору
 Re: Возможно ли подменить значение userenv('Terminal')?  [new]
Кроик Семён
Member

Откуда: СПб --> Dortmund
Сообщений: 6743
Elic
Только вот вопрос: есть ли в OCI интерфейс, подобный oradebug?


Может ее каким-нибудь трассировщиком проверить?
9 окт 08, 22:27    [6287540]     Ответить | Цитировать Сообщить модератору
 Re: Возможно ли подменить значение userenv('Terminal')?  [new]
Anton Demidov
Member

Откуда: Atlanta, GA
Сообщений: 1187
А там случаем SYSDBA привилегия не требуется для такого хака?

Семён, вам будет проще во всём вашем коде поиском и заменой подменить userenv('Terminal') на SYS_CONTEXT('USERENV','HOST') - там и имя машины и имя пользователя.

--
Per rectum ad astrum
9 окт 08, 22:47    [6287567]     Ответить | Цитировать Сообщить модератору
 Re: Возможно ли подменить значение userenv('Terminal')?  [new]
semirax
Member

Откуда:
Сообщений: 450
Кроик Семён
Elic
Только вот вопрос: есть ли в OCI интерфейс, подобный oradebug?


Может ее каким-нибудь трассировщиком проверить?


Трассировщик-то имеется, OCI SPY ему имя...
См здесь
Только, думаю, не поможет.

Anton Demidov

To : А там случаем SYSDBA привилегия не требуется для такого хака?


Ну с этим-то проблем нет. Тут найдутся вкусности для каждого :)
9 окт 08, 23:04    [6287603]     Ответить | Цитировать Сообщить модератору
 Re: Возможно ли подменить значение userenv('Terminal')?  [new]
OraFreeLancer
Guest
Это для какой версии был привелен способ

у меня на 11.1.0.6 не работает:


select to_number(rawtohex(addr),'XXXXXXXX')+offset offset,machine from t
                 *
ERROR at line 9:
ORA-01722: invalid number
9 окт 08, 23:06    [6287614]     Ответить | Цитировать Сообщить модератору
 Re: Возможно ли подменить значение userenv('Terminal')?  [new]
semirax
Member

Откуда:
Сообщений: 450
OraFreeLancer
Это для какой версии был привелен способ

у меня на 11.1.0.6 не работает:

select to_number(rawtohex(addr),'XXXXXXXX')+offset offset,machine from t
                 *
ERROR at line 9:
ORA-01722: invalid number


Пример был для 10.2.0.1.
К тому же есть много способов из 4-байтного raw получить number.
9 окт 08, 23:10    [6287621]     Ответить | Цитировать Сообщить модератору
 Re: Возможно ли подменить значение userenv('Terminal')?  [new]
m--m
Member [заблокирован]

Откуда: Европы, СНГ, и т.д.
Сообщений: 273
Семен, лучше перепешите триггеры и всё остальное.
Подменять системные вещи весьма нехорошо для вашего будущего в очень широком смысле.
10 окт 08, 01:06    [6287812]     Ответить | Цитировать Сообщить модератору
 Re: Возможно ли подменить значение userenv('Terminal')?  [new]
Elic
Member

Откуда:
Сообщений: 30178
OraFreeLancer
у меня на 11.1.0.6 не работает:
select to_number(rawtohex(addr),'XXXXXXXX')+offset offset,machine from t
                 *
ERROR at line 9:
ORA-01722: invalid number
Для 64-разрядного Oracle-а маску надо задвоить
10 окт 08, 08:24    [6288046]     Ответить | Цитировать Сообщить модератору
 Re: Возможно ли подменить значение userenv('Terminal')?  [new]
semirax
Member

Откуда:
Сообщений: 450
Elic
OraFreeLancer
у меня на 11.1.0.6 не работает:
select to_number(rawtohex(addr),'XXXXXXXX')+offset offset,machine from t
                 *
ERROR at line 9:
ORA-01722: invalid number
Для 64-разрядного Oracle-а маску надо задвоить


Небольшой оффтопик, товарищ Elic.
Из сказанного выше и в других топиках видно как работать с x$ таблицами. Хватаем адрес нужной строки, вычисляем смещение - и вперед. А вот как быть с x$ интерфейсами? Вроде интерфейса транзакций x$ktcxb? (терминология от Steve Adams)
Если бы был метод R/W доступа через интерфейс, то боюсь что вопрос о том, можно ли сделать commit в другой сессии без остановки экземпляра решался бы иначе:)
10 окт 08, 09:07    [6288134]     Ответить | Цитировать Сообщить модератору
 Re: Возможно ли подменить значение userenv('Terminal')?  [new]
Elic
Member

Откуда:
Сообщений: 30178
semirax
Небольшой оффтопик, товарищ Elic.
Это не ко мне. Я лишь зритель в этом анатомическом театре :)
10 окт 08, 09:16    [6288157]     Ответить | Цитировать Сообщить модератору
 Re: Возможно ли подменить значение userenv('Terminal')?  [new]
Кроик Семён
Member

Откуда: СПб --> Dortmund
Сообщений: 6743
m--m
Семен, лучше перепешите триггеры и всё остальное.
Подменять системные вещи весьма нехорошо для вашего будущего в очень широком смысле.


Да, пожалуй, это будет самое правильное. Так и поступлю.

Всем спасибо за обсуждение!
10 окт 08, 11:30    [6289067]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить