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 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 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 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
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.
Tack för ditt bidrag i tråden! Bättre sent än aldrig! :)