und wie solls jetzt weitergehen? Ich kann $zahl auf keinen Fall so in die Datenbank eintragen, das gibt einen Error wenn ich versuche $zahl in eine INT-Spalte einzutragen.
Da du userinput entgegennimmst wirst du mit einem regulären Ausdruck zuerst ein gültiges Datum herausziehen müssen.
$unclean{zahl} =~/(\d+)/ and $clean{zahl}=$1
or $clean{zahl}=42;mfg Beat
was soll ich denn bitte mit /(\d+)/ ??? Das heisst ja nur, dass im String min. 1 Zahl vorkommen muss.
Du meintest wohl eher sowas wie /^\d$/
Und die clean-Lösung durchblick ich auch nicht so richtig. Was soll das bezwecken?
Wenn du dein script mit -T aufrufst, musst du allen Userinput waschen.
Das kann nur geschehen durch eine RE, wobei du den gültigen Wert extrahierst.
falsches Vorgehen
$unclean{zahl} =~/^\d+$/ and $clean{zahl}=$unclean{zahl};
jetzt ist $clean{zahl) immer noch tainted
liest du selber nach zum Thema tainted und Sicherheit.
Ich habe die hashes zu Verdeutlichung benannt.
mfg Beat
><o(((°> ><o(((°>
<°)))o>< ><o(((°>o
Der Valigator leibt diese Fische