Хранимые процедуры

Статус
Закрыто для дальнейших ответов.

temp

Well-Known Member
Регистрация
21.05.2006
Сообщения
53
Рекомендуют для избежания sql-inject использовать хранимые процедуры (ХП). Хотел спросить - а действительно ли это повысит безопасность? Ведь к примеру для передачи условия поиска - все равно будет передаваться из post переменная. Но тут же и вспоминаю - в БД ХП хранятся уже вроде как в скомпиленном виде, таким образом передав с условием и еще один оператор БД он по идее не вывполнится, тогда вроде как действительно применяя ХП мы повышаем безопасность. Кто знает - разъясните пожалуйста, а то по ХП инфы - оч мало, а на русском - и по давно.
Заранее спасибо
 

cpasik

Active Member
Регистрация
23.10.2005
Сообщения
26
ХП работают только в MySQL5, которую хостеры пока не ставят. Так что вопрос не правильный
 

deMone

Злой страшный дядька
Регистрация
30.01.2006
Сообщения
937
Помимо MySQL существует множество других СУБД.
 

temp

Well-Known Member
Регистрация
21.05.2006
Сообщения
53
ХП работают только в MySQL5, которую хостеры пока не ставят. Так что вопрос не правильный
:biggrin: Вообще то я не спрашивал на каких СУБД работают ХП, я спрашивал о целесообразности их использования в вопросе безопасности
 

deMone

Злой страшный дядька
Регистрация
30.01.2006
Сообщения
937
Решил всё-таки ответить. Хотя не хотел чего-то. Интересно, чего вдруг?

Хранимая процедура сама по себе не улучшит безопасность системы и не ухудшит её. Если процедура написана без явных ошибок, её использование никак не повлияет на безопасность системы в целом.

Проблема в том, что в подавляющем большинстве случаев хранимые процедуры для своей работы используют некоторые внешние данные, которые они получают от пользователя. И вот тут-то возникает слабое место: если данные не были проверены, то используете вы просто запрос или хранимую процедуру — безопасность снижается в разы.

Другое дело, что внутри самой хранимой процедуры можно (и очень нужно) устроить ещё раз проверку получаемых данных. Тогда безопасность повышается.

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

temp

Well-Known Member
Регистрация
21.05.2006
Сообщения
53
А-га, спасибо за ответ! То есть все же выполнится "дополнительный запрос". Выходит ХП целесообразно использовать только для повышения быстродействия в больших проектах, как я понимаю.
 

deMone

Злой страшный дядька
Регистрация
30.01.2006
Сообщения
937
Да, когда одной хранимой процедурой удаётся выполнить сразу много действий (проверок, запросов промежуточных данных и так далее).
 

medwoodu

Злобный модер
Регистрация
22.12.2005
Сообщения
1 418
Насчет хранимых процедур лучше не запариваться в mysql5, если появляется в них необходимость то становится оправдан переход на postgre однозначно
 

deMone

Злой страшный дядька
Регистрация
30.01.2006
Сообщения
937
Именно. Я последнее время только с pgsql и работаю и могу заверить каждого: по сравнению с mysql, она конфетка.
 

medwoodu

Злобный модер
Регистрация
22.12.2005
Сообщения
1 418
Читайте доки. Возможностей больше, умнее построено
 

deMone

Злой страшный дядька
Регистрация
30.01.2006
Сообщения
937
Гораздо больше возможностей. Огромное количество готовых встроенных функций, возможность создания собственных: типов данных, функций, триггеров, операторов (например, переопределить тот же «+» совсем несложно). В общем, всё то, что в MySQL только-только начали понемножку вводить и что там (в MySQL) дико глючит и ни*уя не работает, в PgSQL уже много лет, прекрасно отлажено и работает как часы.
 

Energy

New Member
Регистрация
25.07.2007
Сообщения
6
Одно что на локалхосте с ним побалуешь, нормальных хостингов с pgsql не видел.
 

deMone

Злой страшный дядька
Регистрация
30.01.2006
Сообщения
937
Может, плохо искали? MIRhosting, SpaceWeb — у обоих с постгресом всё хорошо (версия, правда, 8.1, но это ведь не смертельно).
 

AlexKozlov

Member
Регистрация
02.02.2009
Сообщения
14
Может, плохо искали? MIRhosting, SpaceWeb — у обоих с постгресом всё хорошо (версия, правда, 8.1, но это ведь не смертельно).
Еще FirstVDS.ru и думаю много где еще. Найти недорогой хостинг с необходимыми фишками сейчас не так уж сложно.
Другой вопрос - не каждому проект действительно требуется что-то навароченное.
 
Статус
Закрыто для дальнейших ответов.
Верх Низ