Forum Webscript.Ru

Программирование => Perl => Тема начата: Error202 от 09 Августа 2005, 11:44:06

Название: Ряд вопросов безопасности
Отправлено: Error202 от 09 Августа 2005, 11:44:06
1. Достаточно ли этого для проверки входных данных:

s/([\\&;\\`\'\\\\\\|"*?~<>^\\(\\)\\[\\]\\{\\}\\$\\n\\r])/\\\\$1/g;
 

2. Как правильно проверять входные данные, чтобы избежать SQL инъекций?
Т.е. достаточно ли проверить присутствие UNION или еще надо чего-нть?

3. Есть ли какой-нть модуль, которым можно было бы заменить Text::Iconv?
Название: Ряд вопросов безопасности
Отправлено: Green Kakadu от 09 Августа 2005, 23:48:03
Цитировать
Error202:
1. Достаточно ли этого для проверки входных данных:

s/([&;`\'\\|"*?~<>^()[]{}\\$\\n\\r])/\\$1/g;

если очень хочется ты можешь включить taint mode - ключ -T

#!/usr/bin/perl -wT

Цитировать
Error202:
2. Как правильно проверять входные данные, чтобы избежать SQL инъекций? Т.е. достаточно ли проверить присутствие UNION или еще надо чего-нть?

надо нормально расставлять кавычки
$quoted= $DBH->quote($unquoted);
Название: Ряд вопросов безопасности
Отправлено: Phoinix от 15 Августа 2005, 16:25:12
Error202

Я лично пользуюсь такой конструкцией:
~s /[\\\\\\\']/\\\\$1/g;