Thread Modul zum maskieren von Sonderzeichen
(24 answers)
Opened by Kean at 2011-06-15 09:55 2011-06-22T05:49:32 topeg Weiß ich selbst nicht mehr, das habe ich vor ein paar Jahren mal irgendwo gelesen. Du kannst es jedoch testen, indem Du injektionsbehaftete/fehlerhafte Eingaben über Platzhalter abwickelst oder direkt in das Statement gibst. Setze RaiseError und eval: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 # Test 1: $dbh->quote sub test{ my $self = shift; my $query = shift; #$query = $self->{DBH}->quote($query); my $sql = qq(SELECT oid FROM objects WHERE oid=$query); my $ref = []; eval{ my $sth = $self->{DBH}->prepare($sql); $sth->execute(); $ref = $sth->fetchall_arrayref; }; return $@ ? undef : $ref; } # Test 2: Platzhalter sub test2{ my $self = shift; my $query = shift; my $sql = qq(SELECT oid FROM objects WHERE oid=?); my $ref = []; eval{ my $sth = $self->{DBH}->prepare($sql); $sth->execute($query); $ref = $sth->fetchall_arrayref; }; return $@ ? undef : $ref; } |