![]() |
Sql injection
Hej!
Jag använder mysql real escape string för att skydda min sida av sql injection. Men mysql real escape fungerar bara när man hämtar information från databasen.(t.ex. SELECT FROM USER....). När man skriver i databasen så fungerar inte mysql real escape string. T.ex. när man registrerar sig, skriver i gästbok osv. Om jag skriver ett sql injections kommand i gästbok så sparas den i databasen. Jag menar om jag skrev ' OR ''=' så sparas den i databasen som den är. Men om mysql real escape string fungerade så skulle ju denna vara så här: \' OR \'1\'=\'1. Är mysql real escape string bara för att skydda sig när man hämtar information från databasen? Tacksam för svar. |
Det funkar i alla typer av frågor, oavsett om du gör en insert eller update, alltså inte bara vid en select. Du har nog något fel i din kod om du upplever problem. Du kan inte dela med dig av lite källkod så ser någon här snart felet..
|
Citat:
|
Använd mysql_real_escape vid select/update/insert till databasen, och när du skriver ut information from databasen använd tex htmlspecialchars.
Eller har jag missuppfattat din fråga? |
Tackar alla
Citat:
Citat:
Citat:
|
använder htmlspecialchars varje gång jag tar ut ur databasen! om du vill bli helt säker så använd den... här är hur du lir "skyddad"
PHP-kod:
|
Citat:
|
Citat:
|
Citat:
Där står följande: This function is identical to htmlspecialchars() in all ways, except with htmlentities(), all characters which have HTML character entity equivalents are translated into these entities. |
Htmlspecialchars översätter endast
Citat:
Htmlentities översätter även andra tecken vilket kan ha sin fördelar i andra sammanhang. |
Alla tider är GMT +2. Klockan är nu 13:28. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson