powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Поиск процедуры
11 сообщений из 36, страница 2 из 2
Поиск процедуры
    #39822856
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iapuaggsterИли, например, как вам такое:Скобки у EXEC - лишние.
чего? там же EXEC (string)
...
Рейтинг: 0 / 0
Поиск процедуры
    #39822861
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKiapпропущено...
Скобки у EXEC - лишние.
чего? там же EXEC (string)EXEC @SQL, где @SQL состоит из имени процедуры.
Кстати, в этом случае никакого динамического SQL.
...
Рейтинг: 0 / 0
Поиск процедуры
    #39822863
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iapTaPaKпропущено...

чего? там же EXEC (string)EXEC @SQL, где @SQL состоит из имени процедуры.
Кстати, в этом случае никакого динамического SQL.

Будет работать хоть EXEC (@str) хоть EXEC @str
...
Рейтинг: 0 / 0
Поиск процедуры
    #39822878
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKiapпропущено...
EXEC @SQL, где @SQL состоит из имени процедуры.
Кстати, в этом случае никакого динамического SQL.

Будет работать хоть EXEC (@str) хоть EXEC @strА если нет разницы, то зачем...?? ©
...
Рейтинг: 0 / 0
Поиск процедуры
    #39822903
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
L_argoИ вот скажите мне, друзья, какими словами можно выразить благодарность разработчику?Он реально преуспел в обфускации.
Видимо жадный заказчик его напарил, но он в долгу не остался.
Теперь заказчик вдвойне платит другому разработчику и доводит его до белого каления.
Самое забавное - это не то, чтобы обфускация.
"Они так видят"(С)
... лучше б впрямую обфусцировали.
...
Рейтинг: 0 / 0
Поиск процедуры
    #39823024
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uaggster,

типа попытка работать в привычной парадигме ООП любой ценой?
...
Рейтинг: 0 / 0
Поиск процедуры
    #39823109
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов,
Видимо, в частности - да.

Помните историю с баша, о разборе текстовых данных на java?
Ну, дескать, что относиться к этому нужно как к уборке квартиры после пьяной студенческой вечеринки:
- Что? На антресолях насрали? Ну что за люди!

Еще хранимая процедура может вызываться другой хранимой процедурой через севис брокер, путем, собственно, отправки сообщения брокеру. И тут, как вы понимаете, имя вызываемой процедуры вообще фигурировать не будет.
А еще - путем запуска задания агента.
Или вызываться в коде хранимки на CLR.
Или в триггере на таблицу, изменения в которой производятся в хранимке.
Или, например, в триггере уровня базы данных, или уровня сервера.

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

А использование sql-инъекции в "мирных целях" вы видели?
Я, например, видел.
Млять.
...
Рейтинг: 0 / 0
Поиск процедуры
    #39823311
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не могу, остановиться, простите, распирает меня!
Как вам такой шедевр зависимостей.
Кусок, правда, модельный, но для понимания идеи - достаточно.
Сначала, они сделали так, цитирую фактически с сохранением оригинального синтаксиса:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
Use testdb
go
-- Да да, именно такая вью поверх статического списка!
Create view [events] as
Select * from 
	(values 
	 (1, Cast('event1' as nvarchar(255)), Cast(''as nvarchar(255)))
	,(2, 'event2', '')
	,(3, 'event3', '')
	) v (id, [event], [message])
Go

-- И замечательный триггер на ней. Причем этот текст - только для иллюстрации идеи.
CREATE TRIGGER [event_log]
ON [events]
INSTEAD OF update
AS
Begin
	Declare @x xml
	Set @x = ( 
			Select * from inserted
			for xml raw, type
			 )
	exec Proc_01 @x = @x
-- и много еще всякой фигни
End



А потом элегантно разбросали везде, где смогли, щедрой рукой, т.с., по всем процедуркам:
Код: sql
1.
2.
3.
Update [dbo].[events]
	Set [message] = 'test'
Where id in (1, 2)


Причем апдейты иногда очень даже зубодробительные!

И всё в таком духе.
(это я сильно упрощенно, для иллюстрации)

Вот вы мне скажите:
1. Кем надо быть, чтобы такое творить?
2. Кто этих uebkoff научил так делать?
3. И какой, какой в этом смысл, а? Ну, кроме того, чтобы потом сопровождающих задолбали в ноль.

Объясните, может я чего то не понимаю?
Это может в кукбоке каком есть или еще что?
Должно же быть рациональное зерно какое-то, кроме шизофрении, а?

Прошу прощения за экспрессию.
Но вопросы не риторические, мне интересно!
:-)
...
Рейтинг: 0 / 0
Поиск процедуры
    #39823330
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uaggster,

тут вопрос что делает этот Proc_01. Могу придумать что для отладки что-то нарисовали
...
Рейтинг: 0 / 0
Поиск процедуры
    #39823365
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK, нет, это я так, для примера нарисовал.
Триггер - реальная большая хранимка, с разветвленной логикой, которая учитывает контекст сессии и т.д.
И причем, если б это одна точка такая была - это как то понятно было бы.
Нет же! Там с десяток таких вьюх, c INSTEAD OF триггерами, частью - поверх статических списков, частью - поверх таблиц, причем вьюхи - потому что содержимое этих таблиц фильтруется по имени пользователя или по принадлежности к роли (не 2017, row security нету).
Нет! Это используется как самостоятельный прием программирования!
Они, значит, делают апдейт каких то там столбцов в этих вьюхах, в хранимках, я имею ввиду, делают, а, зачастую - прямо с клиента, прямым запросом, а внутри триггера, значит, анализируют то, что прилетело в inserted, и что-то там дальше делают.

Я так понимаю, господа просто не умеют табличных типов. Ну, или не хотят уметь.

Но мне интересно, откуда такая зараза могла приползти? Прием, в смысле. В оракуле так делают? Или в постгрессе? Кто надоумил то?

Причем, вот беда, я кроме как "плохо поддерживаемо" никаких аргументов привести не могу. Не хватает знаний. Я не разработчик, я сисадмин.
...
Рейтинг: 0 / 0
Поиск процедуры
    #39823440
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uaggster,

напоминает творчество индусов.
...
Рейтинг: 0 / 0
11 сообщений из 36, страница 2 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Поиск процедуры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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