php sql injection
patrick G
02/10/2007 16:20:00Ik heb nu een aantal artikelen gelezen over dit fenomeen.
Volgens mij los je het ook op door in je SELECT statement na de WHERE een AND te zetten en vervolgens
if ( geraakte rijen == 1)
Is dit een correcte aanname of is dit makkelijk te omzeilen ?
Volgens mij los je het ook op door in je SELECT statement na de WHERE een AND te zetten en vervolgens
if ( geraakte rijen == 1)
Is dit een correcte aanname of is dit makkelijk te omzeilen ?
PHP hulp
27/11/2024 10:33:15- wes -
02/10/2007 16:21:00Frank -
02/10/2007 16:25:00Ik zou niet weten wat dit moet oplossen, je kunt dan hooguit vaststellen dat je database net naar de klote is geholpen. De query met SQL-injection is dan namelijk al uitgevoerd...
Je zou natuurlijk met een ROLLBACK e.e.a. ongedaan kunnen maken, maar dan moet je wel innoDB gebruiken of een betere database dan MySQL gebruiken.
In PHP heb je vor MySQL de functie mysql_real_escape_string() tot je beschikking en zou je met bv. PDO een stored procedure kunnen gebruiken.
Voor andere databases zijn soortgelijke functies en oplossingen beschikbaar. Zelf gebruik ik in pgSQL altijd stored procedures (met PL/pgSQL), dan is SQL-injection technisch onmogelijk. Ik hoef dan niks te beveiligen, de query zal bij SQL-injection gewoon mislukken.
Je zou natuurlijk met een ROLLBACK e.e.a. ongedaan kunnen maken, maar dan moet je wel innoDB gebruiken of een betere database dan MySQL gebruiken.
In PHP heb je vor MySQL de functie mysql_real_escape_string() tot je beschikking en zou je met bv. PDO een stored procedure kunnen gebruiken.
Voor andere databases zijn soortgelijke functies en oplossingen beschikbaar. Zelf gebruik ik in pgSQL altijd stored procedures (met PL/pgSQL), dan is SQL-injection technisch onmogelijk. Ik hoef dan niks te beveiligen, de query zal bij SQL-injection gewoon mislukken.