webForumDet fria alternativet

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

PHP

5 svar · 408 visningar · startad av lillebror

Medlem sedan apr. 20041 597 inlägg
Frågan#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.

Medlem 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.

Medlem 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..

Medlem 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.

Medlem 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.

Medlem sedan apr. 20041 597 inlägg
#6

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

268 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)