webForumDet fria alternativet

Säkraste sättet att skydda SQL-satser?

5 svar · 406 visningar · startad av lillebror

lillebrorMedlem sedan apr. 20041 597 inlägg
#1

Jag har hållt på en hel del med SQL och databaser. Nu undrar jag vilket som är det bästa sättet att skydda SQL-satser mot eventuella hackningsförsök?

Är lite osäker på om detta enbart är en fråga för databaser och SQL. Därför postar jag det här i PHP-forumet.

UlfTMedlem sedan maj 20018 027 inlägg
#2

Rent allmänt, se till att folk inte kan mata in sql-satser i inmatningsformulär, query-strängar, mm. Dvs, kontrollera indata från formulären och query-strängarna.

HenrikAIMedlem sedan nov. 2004112 inlägg
#3

Använd addslashes på indata innan det används i SQL-frågorna.
http://www.php.net/addslashes

Det kan också vara smart att kolla is_numeric och motsvarande för andra datatyper.
http://www.php.net/is_numeric

Undvik att skriva ut felmeddelanden från databasen genom att använda @ framför databasanropen.

Med dessa saker borde du vara ganska säker. Men det finns säkert fler tips..

BäckmanMedlem sedan nov. 2001274 inlägg
#4

Istället för isnumeric så kan du använda intval() runt t.ex. dynamiska ID-värden i dina SQL-satser. Om någon skulle modifiera querystringen då så och byta ut $_GET['id'] = 1 mot $_GET['id'] = "valfri sql-sats som kan skada din webbsida här" så blir det sistnämnda till en nolla istället.

K@llenMedlem sedan mars 20032 667 inlägg
#5

HenrikAI skrev:

Använd addslashes på indata innan det används i SQL-frågorna.
http://www.php.net/addslashes

Jag skulle hellre rekommendera mysql_real_escape_string(). :)

Men det viktiga är att validera all indata.

lillebrorMedlem sedan apr. 20041 597 inlägg
#6

Tack för ditt bidrag i tråden! Bättre sent än aldrig! :)

133 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)