Модераторы: gambit, Partizan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> хранение SQL выражений 
:(
    Опции темы
IGV
Дата 13.8.2010, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 1.4.2008

Репутация: нет
Всего: 2



Как в приложении лучше всего реализовать хранение SQL выражений?

В приложении есть много SQL выражений. Они просто прописаны строковыми литералами. Хотелось бы отделить эти SQL выражения от основного кода, при этом каждое SQL выражение можно было бы просто получить, например вызовом соответствующего property из какого-нибудь класса.

Вариант с простым вынесением их, например в xml-файл, не пойдет, т.к. запросы должны быть скрыты от "злоумышленника" ))).
Файл Resources.resx тоже не вариант, т.к. там хранятся интерфейсные вещи, не хочется их смешивать.




Это сообщение отредактировал(а) IGV - 13.8.2010, 13:15
PM MAIL ICQ   Вверх
gambit
Дата 13.8.2010, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: нет
Всего: 40



IGV, для этого есть хранимые процедуры.

Добавлено через 11 секунд
да и не только для этого

Добавлено через 4 минуты и 14 секунд
Цитата(IGV @  13.8.2010,  12:07 Найти цитируемый пост)
 т.к. запросы должны быть скрыты от "злоумышленника"

вариант с видит, конечно кривой и неприятный, но по большому счету, если правильно организована и продумана безопастноть, то ничего смертельного.
PM MAIL ICQ Skype   Вверх
IGV
Дата 13.8.2010, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 1.4.2008

Репутация: нет
Всего: 2



gambit, 
причем здесь хранимые процедуры??? 
нет никакой разницы что в этой строке наименование хранимой процедуры или напрямую запрос SELECT?

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

PM MAIL ICQ   Вверх
gambit
Дата 13.8.2010, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: нет
Всего: 40



Из строки
Цитата(IGV @  13.8.2010,  12:07 Найти цитируемый пост)
В приложении есть много SQL выражений

я подумал что вы именно код храните.

Цитата(IGV @  13.8.2010,  15:30 Найти цитируемый пост)
нет никакой разницы что в этой строке наименование хранимой процедуры или напрямую запрос SELECT

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

Это сообщение отредактировал(а) gambit - 13.8.2010, 15:57
PM MAIL ICQ Skype   Вверх
IGV
Дата 13.8.2010, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 1.4.2008

Репутация: нет
Всего: 2



наверное я плохо объясняю....дело в подходе...
а если у меня, а если на пример, у меня не приложения а dll плагин, я что вместе с плагином буду подсовывать некий файлик? а если файлика нет, то всё падает....это не правильно
меня интересует подход, я не верю, что я первый кто задумывается на эту тему.

Это сообщение отредактировал(а) IGV - 13.8.2010, 17:28
PM MAIL ICQ   Вверх
gambit
Дата 13.8.2010, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: нет
Всего: 40



IGV, а что мешает хранить ресурсы в зашифрованном виде, и расшифровывать их на лету.
Цитата(IGV @  13.8.2010,  17:23 Найти цитируемый пост)
я не верю, что я первый кто задумывается на эту тему.

ну если не первый, то один из первых. Я никогда не слышал, что бы для кого то было проблемой хранение имен sql процедур.
Кого я сегодня на работе поспрашивал, все ответили примерно след:
Цитата(gambit @  13.8.2010,  15:55 Найти цитируемый пост)
 И от того что кто то увидит эту ручку, мне по большому счету параллельно.


PM MAIL ICQ Skype   Вверх
Springtime
Дата 13.8.2010, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 221
Регистрация: 25.10.2006
Где: Россия, Тюмень

Репутация: нет
Всего: 2



Я тоже за хранение запросов в том же самом XML, только в зашифрованном виде
можешь до кучи ещё к какому ни будь зашифрованной строке применить свой сдвиг или ещё чего.
--------------------
ICQ: 1fe410f46e7f48f6c721bc866d8294a2
PM MAIL ICQ   Вверх
Любитель
Дата 14.8.2010, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: нет
Всего: 92



Цитата(Springtime @  13.8.2010,  20:12 Найти цитируемый пост)
только в зашифрованном виде
можешь до кучи ещё к какому ни будь зашифрованной строке применить свой сдвиг или ещё чего. 

Ребят, вы издеваетесь или как? smile Если у человека есть прямой доступ к базе, то всегда есть SQL Profiler (ну или аналогичная тулза, в случае не MS SQL). А если у вас обычная SOA - то что вы скрывать собрались?

Это сообщение отредактировал(а) Любитель - 14.8.2010, 11:38


--------------------
PM MAIL ICQ Skype   Вверх
gambit
Дата 14.8.2010, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: нет
Всего: 40



Цитата(Любитель @  14.8.2010,  11:38 Найти цитируемый пост)
Если у человека есть прямой доступ к базе,

А где об этом сказано?
PM MAIL ICQ Skype   Вверх
Любитель
Дата 14.8.2010, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: нет
Всего: 92



Цитата(gambit @  14.8.2010,  11:59 Найти цитируемый пост)
А где об этом сказано?

Если у приложения есть прямой доступ, то у человека тоже. В худшем случае, это файловая база с поддержкой шифрования - может не быть пароля, но.. Я думал времена таких извращений прошли. Разве нет?


--------------------
PM MAIL ICQ Skype   Вверх
gambit
Дата 14.8.2010, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: нет
Всего: 40



Цитата(Любитель @  14.8.2010,  12:47 Найти цитируемый пост)
Если у приложения есть прямой доступ, то у человека тоже.

А что вы называете прямым доступом? что храниться строка подключения или что пароль имеется? Из этого - строка без пароля ничего не дает, пароль в программе может не храниться.
Или например, проект asp.net. Имеется проект, в нем строка подключения, даже с паролем. Подключается к базе "напрямую". Я выложил проект в сети, ну и получите доступ к базе.
PM MAIL ICQ Skype   Вверх
Любитель
Дата 14.8.2010, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: нет
Всего: 92



Какая-т путаница у вас.

Если уж говорите про чистовебовые приложения, то задам вопрос ещё раз - зачем вы собрались шифровать запросы?! 
В случае веб-приложения клиентская часть - это HTML/JS (ну и там флеш, сильверлайт - не суть). Веб-приложения дают "автоматом" сервис-ориентированную архитектуру (с точки зрения клиента, а не с точки зрения АПИ сервиса) всегда. Шифровать тут (в плане общения с базой) нечего.

Про базы, расшифроваемые налету я уже говорил - это потеряло актуальность (по крайней мере в том виде, как это было раньше). Т. к. тут всё классически, какие-то дампы всегда сделать можно, поэтому, если данные дейтствильно нельзя давать юзеру - то это надо пресекать совсем. Доступа к базе у него не должно быть. Он должен общаться только с сервисом. Ну и какое тут шифрование запросов?!

По теме: либо использовать орм, либо хранимки (можно вместе, но эт не имеет отношения к вопросу). И дело, конечно, ни в каком не шифровании - просто поддерживать иначе сложно. А сам "список" процедур - вполне можно хранить константами где-нибудь. На практике, если не используют "тяжёлые" ОРМ, то самый тру-вей - генерить обёртки для вызова процедур. Сам список в каком-нибудь XML-е, читаемым только тулзой для генерации класса/классов.


--------------------
PM MAIL ICQ Skype   Вверх
gambit
Дата 14.8.2010, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: нет
Всего: 40



Цитата(Любитель @  14.8.2010,  21:19 Найти цитируемый пост)
Если уж говорите про чистовебовые приложения, то задам вопрос ещё раз - зачем вы собрались шифровать запросы?!

Я ничего не собрался)))

Цитата(Любитель @  14.8.2010,  21:19 Найти цитируемый пост)
По теме: либо использовать орм, либо хранимки (м

топик стартеру не понравилось(((
Цитата(IGV @  13.8.2010,  15:30 Найти цитируемый пост)
gambit, 
причем здесь хранимые процедуры??? 
нет никакой разницы что в этой строке наименование хранимой процедуры или напрямую запрос SELECT?


Цитата(Любитель @  14.8.2010,  21:19 Найти цитируемый пост)
 А сам "список" процедур - вполне можно хранить константами где-нибудь.

а вот от этого, топикстартер вообще в ужасе.

PM MAIL ICQ Skype   Вверх
Любитель
Дата 15.8.2010, 02:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: нет
Всего: 92



Цитата(gambit @  14.8.2010,  22:40 Найти цитируемый пост)
Я ничего не собрался)))

Да, я вначале не на твою цитату отвечал. Меня просто ужаснула идея шифрования.


--------------------
PM MAIL ICQ Skype   Вверх
IGV
Дата 16.8.2010, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 1.4.2008

Репутация: нет
Всего: 2



эм...вот яркий пример когда из обычного вопроса получается нечто....извращенцы )))))
вопрос был простым. а они уже в шифрование полезли...
Цитата(gambit @  13.8.2010,  15:55 Найти цитируемый пост)
 И от того что кто то увидит эту ручку, мне по большому счету параллельно.

скажите, а вы хотели бы покупая, скажем машину, видеть как у нее в цилиндрах поршни двигаются? (вопрос риторический, не хочу холивар)

Ну раз такое дело, то пусть это будут не SQL-выражения, а просто строки и неважно, что в них. И их много.
Вариант с текстовым фалом принят. что ещё?




PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0661 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.