$variabel = mysql_escape_string($_GET['variabel']);
hvorfor skrive det sådan istedet for sådan:
$variabel = $_GET['variabel'];
?
Det er en meget stor sikkerhedsrisiko at lade være, da det åbner for muligheden for såkaldte SQL injections.
Læs bl.a. om sikkerhed på HachThisSite.org
http://www.hackthissite.org/articles/read/45 eller PHP Security Consortiums hjemmeside
http://phpsec.org/projects/guide/3.html#3.2.Dette vil normalt blive taget af php's magic_quotes_gpc ...
MySQLs escape-funktion frigør alle tegn med speciel betydning i databasen. Det er ikke kun enkelte og dobbelte anførselstegn, som er de eneste, der udgør en
sikkerhedsrisiko - andre tegn udgør risiko for fejl i databasen.
I øvrigt er mysql_escape_string deprecated og du skal derfor bruge mysql_real_escape_string da den anden sansynligvis vil blive fjernet på et tidspunkt.
Jeg kan varmt anbefale at bruge den objektorienterede fremgangsmåde med MySQL
http://dk2.php.net/mysqli. Der er automatisk escape-funktion på alle forespørgsler.
Indlæg senest redigeret d. 09.03.2007 08:40 af Bruger #6653