Steven Binder: Validierungsfunktion - SQL Syntax prüfen

Beitrag lesen

Hey,

Beispiel: Gefragt wird der user nach seinem Namen und er gibt ein " Hans; insert into [...]

Daraus machst Du:

INSERT INTO deine_tabelle (spalte) VALUES (' Hans; insert into [...]')

hmm ja schon aber was wäre wenn dein SQL so aussieht

SELECT * FROM user WHERE name = '$name';

und $name wird per formular übergeben...

der böse mensch gibt aber ein:
hallo'; DELETE FROM user WHERE id > 0;\

das würde dan so aussehen:
SELECT * FROM user WHERE name = 'hallo';'; DELETE FROM user WHERE id > 0;

ich glaube mysql ist es wurst ob da jetzt noch ein ; ist oder nicht .. da bin ich gerade beim ausprobieren ...

aber ich lasse mich gerne vom gegenteil überzeugen ;)

Gruß Steven

--
<?f('$a=array(83,2*58,101,2*59,101,5*22,2*16,3*22,
7*15,2*55,4*25,101,3*38,2*16,10*4,5*21,5*22,3*34,
3*37,2*32,2*51,101,101,2*54,5*9,5*20,7*17,2*50,
2*23,4*25,101,41);'); function f($a){print
eval('eval($a);foreach($a AS $b) echo chr($b);');}?>