Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: разработка для Web > PERl + DBI + MySQL


Автор: ежик 1.5.2007, 06:42
если я использую записи следующего типа:
Код

$sth = $self->{'connect'}->prepare('SELECT * WHERE user=?');
$rv += $sth->execute($input);
$rezult = $sth->fetchrow_array;
print $rezult;


Какие символы мне нужно вырезать в переменной $input, для обеспечения безопасности?????

Наверное на делать так:
Код

$sth = $self->{'connect'}->prepare('SELECT * WHERE user=?');
$input =~ s{~}{~0}gso;
$input =~ s{'}{~1}gso;
$rv += $sth->execute($input);
$rezult = $sth->fetchrow_array;
$input =~ s{~1}{'}gso;
$input =~ s{~0}{~}gso;
print $rezult;


ИЛИ я ошибаюсь!!!!

Автор: arto 1.5.2007, 10:18
ошибаетесь.
никакие.

Автор: nitr 1.5.2007, 10:26
$sth->execute()
уже сам экранирут все что надо экранировать

Автор: djkostya 1.5.2007, 11:05
quote()

Автор: nitr 1.5.2007, 17:24
djkostya, нехорошая привычка что-то ляпнуть...
ты прав, но не в данном случае smile , тем более если будешь использовать этот метод в execute(), то не оберешься глюков и ошибок smile
не путаем людей...

Автор: djkostya 2.5.2007, 15:13
Не я так чтоб не забывали

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)