Är denna kod säker mot SQL-injections?

Permalänk
Medlem

Är denna kod säker mot SQL-injections?

Hej!
Har tidigare kört med mysql_real_escape_string(), men det är så jävla långt att skriva varje gång.. Fick detta exempel av någon för ett par dagar sedan.. hur pass säkert är det egentligen?

$SQL = "SELECT * FROM blabla WHERE id = {$_GET['fisk']}";

Alltså, kan man helt enkelt bara använda måsvingar och vad gör dom för nytta?

Permalänk
Medlem

Kör vidare på mysql_real_escape_string().

Måsvingarna gör nada för säkerhet, dom gör det möjligt för dig att placera en php variabel i en sträng.

Kör lite google och leta upp någon trevlig databas klass dom brukar vara trevliga

Lycka till

Permalänk
Medlem

addslashes(); ?

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av maDa
addslashes(); ?

addslashes() funkar också men är ett mindre säkert alternativ.

Citat:

php.net/addslashes
Returns a string with backslashes before characters that need to be quoted in database queries etc. These characters are single quote ('), double quote ("), backslash (\) and NUL (the NULL byte)

mysql_real_escape_string tar alltså bort fler tecken.
Tar bort tecken som: \x00, \n, \r, \, ', " och \x1a.

Låter lite "petigt" men kan vara bra att ha som regel att alltid köra med mysql_real_escape_string

Permalänk
Medlem

Gör så här om det är så jobbigt att skriva:

function esc($str) {
return mysql_real_escape_string($str);
}