Функция
ereg_replace(“‘”, “‘’”, $data)
Защита запросов SQL
Пользователь может успешно противостоять атакам злоумышленника даже при всем богатстве арсенала средств использования злоумышленником SQL-запросов пользователя в своих преступных целях. На самом деле при правильном использовании SQL-запросов у злоумышленника почти нет шансов получить доступ к приложению пользователя.
Повсеместно используемый современный метод защиты от атак злоумышленника на SQL-запросы называется заключением в кавычкиsub quotedata {
my $incoming=shift;
$incoming=~s/[““]/’’/g;
return “‘$incoming’”; }В процедуре для обработки входных данных используется функция подстановки языка Perl, которая в случае обнаружения одинарных или двойных кавычек подставляет вместо них две одинарные кавычки. Такой вариант обработки данных является допустимым способом размещения кавычек внутри данных запроса SQL. Другой вариант заключается в удалении всех кавычек, правда, при этом поток данных будет модифицирован. Обработанные данные заключаются в одинарные кавычки и возвращаются приложению, вызвавшему процедуру. В приложении функция
# … incoming user data is placed in $data
$quoted_data = quotedata($data);
$sql_query = “SELECT * FROM table WHERE column = $quoted_data”;
# … execute your SQL query