2010-12-10 3 views
0

Если ваш язык/база данных по выбору имеет встроенную функцию для выхода из пользовательского ввода (например, mysql_real_escape_string), какие аргументы для параметризации SQL? Возможно ли, что mysql_real_escape_string может в какой-то момент оставить уязвимым приложение?SQL-параметризация и экранирование

Я использую параметризацию, потому что мне сказали/прочитали, что это лучший способ пойти, но я не просто хочу слепо следовать. Любое понимание? Благодаря!

ответ

1

Аргументы для параметризации производительность.

Если вы собираетесь выполнить следующее предложение в несколько раз:

insert into table (col1, col2) values (?, ?); 

Это лучше использовать параметры, так как запрос будет оцениваться только (разобран, анализ плана и расчет) один раз, и будет выполнялся много раз.

+0

Итак, с точки зрения безопасности параметризация не дает преимуществ над встроенными функциями эвакуации? – Joseph

+0

Если вы на 100% уверены, что каждый раз избегаете значений, это должно быть то же самое, что использовать параметры для этого. –

Смежные вопросы