Thread Modul zum maskieren von Sonderzeichen (24 answers)
Opened by Kean at 2011-06-15 09:55

rosti
 2011-06-22 08:43
#149851 #149851
User since
2011-03-19
3202 Artikel
BenutzerIn
[Homepage]
user image
2011-06-22T05:49:32 topeg
Ich würde wirklich gerne wissen wo du das gefunden hast.


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;
}

View full thread Modul zum maskieren von Sonderzeichen