|
сложная процедура
|
|||
---|---|---|---|
#18+
Вот такая псевдопроцедура: Код: sql 1. 2. 3. 4. 5. 6. 7.
Подскажите как результат запроса SELECT TOP 1 @column FROM @name ORDER BY @column DESC; записать в поле file_id таблицы TWeight. Подскажите как это сделать без программы на ЯП, в чистом T-SQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 16:07 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
Nawy, тема "ТОП 10" вопрос номер 6 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 16:13 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
NawyВот такая псевдопроцедура: Код: sql 1. 2. 3. 4. 5. 6. 7.
Подскажите как результат запроса SELECT TOP 1 @column FROM @name ORDER BY @column DESC; записать в поле file_id таблицы TWeight. Подскажите как это сделать без программы на ЯП, в чистом T-SQL. Что-то типа такого, наверное Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 16:15 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
Сергей Викт. Код: sql 1.
тут можно не конвертить varchar в varchar :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 17:02 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
Владимир ЗатуливетерСергей Викт. Код: sql 1.
тут можно не конвертить varchar в varchar :)VARCHAR(40) преобразуется в VARCHAR(30), однако! Кто его знает! Может, так и надо? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 17:06 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
iapВладимир Затуливетерпропущено... тут можно не конвертить varchar в varchar :)VARCHAR(40) преобразуется в VARCHAR(30), однако! Кто его знает! Может, так и надо? я перестраховался просто:) Мало ли) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 17:12 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
Сергей Викт.iapпропущено... VARCHAR(40) преобразуется в VARCHAR(30), однако! Кто его знает! Может, так и надо? я перестраховался просто:) Мало ли)Тогда надо было использовать для названий объектов БД тип sysname. Который базируется на NVARCHAR(128) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 17:13 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
EXEC()-то всё равно @SQL преобразует в NVARCHAR(MAX) Так что лучше сразу использовать юникод и перед литеральными строками ставить букву N ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 17:15 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
Сергей Викт.NawyВот такая псевдопроцедура: Код: sql 1. 2. 3. 4. 5. 6. 7.
Подскажите как результат запроса SELECT TOP 1 @column FROM @name ORDER BY @column DESC; записать в поле file_id таблицы TWeight. Подскажите как это сделать без программы на ЯП, в чистом T-SQL. Что-то типа такого, наверное Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
объясните, пожалуйста, что случится при вот таком вызове процедуры? Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 17:17 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
Cygapb-007Сергей Викт.пропущено... Что-то типа такого, наверное Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
объясните, пожалуйста, что случится при вот таком вызове процедуры? Код: sql 1.
понятия не имею) я привёл пример. Вопросы к ТС) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 17:18 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
Эээ... не совсем удачный пример, потому как первый параметр int... Но суть вопроса понятна? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 17:19 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
Сергей Викт.Cygapb-007пропущено... объясните, пожалуйста, что случится при вот таком вызове процедуры? Код: sql 1.
понятия не имею) я привёл пример. Вопросы к ТС) sql injection иногда неплохо бы не просто приводить примеры. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 17:20 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
locky, не будет там ее,первый паметр интовый ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 17:22 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
Cygapb-007Эээ... не совсем удачный пример, потому как первый параметр int... Но суть вопроса понятна? Код: sql 1.
Не очень.... ServerMsg 8114, Level 16, State 5, Procedure addWeight, Line 0 Error converting data type varchar to int. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 17:24 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
Maxxlocky, не будет там ее,первый паметр интовый Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 17:26 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
Сергей Викт., кста ,шлепнеться еще до того :)) Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 17:26 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
Сергей Викт.Cygapb-007Эээ... не совсем удачный пример, потому как первый параметр int... Но суть вопроса понятна? Код: sql 1.
Не очень.... ServerMsg 8114, Level 16, State 5, Procedure addWeight, Line 0 Error converting data type varchar to int. Оки, попытка number two Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 17:27 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
тьфу.. Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 17:28 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
Гавриленко Сергей Алексеевич, а так заработает ) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 17:29 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
Сергей Викт., сорри значения не досчитал... рабочая процедура ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 17:31 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
MaxxСергей Викт., сорри значения не досчитал... рабочая процедура да я без претензий на суперпрофи) Базовый пример. Ни о какой защищенности говорить и не собирался) Налетели как коршуны ;) Код: sql 1.
и таки да, не спорю:) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 17:33 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
Сергей Викт., да лано вам,вечер уже ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 17:35 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
MaxxСергей Викт., да лано вам,вечер уже ) всё ок) я только за дополнительный ликбез) Теперь сижу думаю, как это можно пофиксить.))) Т.к. по итогу выполняется: Код: sql 1. 2. 3. 4.
Вполне себе неплохо)) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 17:38 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
Сергей Викт., уже упоминалось в первом же ответе: тема "ТОП 10" вопрос номер 6 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 17:40 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
Cygapb-007 [/src]объясните, пожалуйста, что случится при вот таком вызове процедуры? Код: sql 1.
[/quot] Где будет? У нормального архитектора будет permission denied ;-) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 17:40 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
кста рабочий вариант от Cygapb-007 ,таки ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 17:41 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
CammomileCygapb-007 объясните, пожалуйста, что случится при вот таком вызове процедуры? Код: sql 1.
Где будет? У нормального архитектора будет permission denied ;-) Понятное дело, что если у обычного юзера, юзающего процедуру есть права на truncate table, то тут уже вопросы к архитектору.. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 17:47 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
ну хорошо, напишем так (37 знаков) Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 17:54 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
Cygapb-007ну хорошо, напишем так (37 знаков) Код: sql 1.
вот это уже ближе к истине) Я согласен))) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 17:54 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
Да с чего вы вообще взяли что есть принципиальная овзможность вызывать такого рода процки простым пользователям? Вы же не будете вставлять защиту от инжекшена на каждый дин. эскуль с параметрами, если его запускаете только вы, ваш босс и скомпиленное клиентское приложение али джоб, а у рядового злоумышленника возможности запусить код руками в принципе нет... Или будете? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 18:04 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
CammomileВы же не будете вставлять защиту от инжекшена на каждый дин. эскуль с параметрами, если его запускаете только вы, ваш босс и скомпиленное клиентское приложение али джоб, а у рядового злоумышленника возможности запусить код руками в принципе нет... Сегодня только вы, завтра только ваш босс, послезавтра прикрутили на сайт. Хреновая аргументация, чтобы не оборачивать имена объектов в quotename, и не использовать sp_executesql для передачи параметров. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 18:07 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
CammomileДа с чего вы вообще взяли что есть принципиальная овзможность вызывать такого рода процки простым пользователям? Вы же не будете вставлять защиту от инжекшена на каждый дин. эскуль с параметрами, если его запускаете только вы, ваш босс и скомпиленное клиентское приложение али джоб, а у рядового злоумышленника возможности запусить код руками в принципе нет... Или будете?Холивар... Я просто к тому, что особой разницы между 'code '+@param+' code' и использованием параметров - на стадии разработки нет: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 18:17 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
Нормальная аргументация, потому, что на сайт будут крутить имея в виду именно то, что крутится на сайте. Ниразу не видел чтобы на сайт прикручивали нутрянку, всегда делаются "интерфейсы" которые посылают на сервак "просьбы" что-то там посчтитать и вернуть. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 18:17 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
CammomileНормальная аргументация, потому, что на сайт будут крутить имея в виду именно то, что крутится на сайте. Ниразу не видел чтобы на сайт прикручивали нутрянку, всегда делаются "интерфейсы" которые посылают на сервак "просьбы" что-то там посчтитать и вернуть.Любой символьный параметр, который будет передан в команду exec напрямую - хоть через 1 интерфейс, хоть через тыщу - будет приводить к injection, и все только потому, что автор сего кода когда-то посчитал, что его код никто использовать не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 18:19 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
сразу масса догадок и предположений появляется: 1. У юзера не будет прав 2. запускать будет только ограниченный круг лиц 3. это не прикрутят на сайт/в продакшн как показывает практика, в тех случаях когда код пишут исходя из этих допущений - всё происходит с точностью до наоборот ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 18:38 |
|
сложная процедура
|
|||
---|---|---|---|
#18+
хм... а не работает мой пример... не получается имя таблицы передать через параметр как varchar, требуется @tablename TABLE... а просто exec() - без проблем... Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2013, 18:39 |
|
|
start [/forum/topic.php?all=1&fid=46&tid=1706392]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
179ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 234ms |
total: | 512ms |
0 / 0 |