![]() |
Du behöver inte escape'a varje enskild POST-/GET-värde.
Citat:
|
mysql(i)_real_escape_string($varlabel,$link_identi fier) heter det,
där $link_identifier är en handler till en uppkoppling av databasen. Om man inte skickar med den så kan det bli fel. |
Citat:
|
Citat:
|
mysql(i)_real_escape_string() fungerar lite olika beroende på vilken teckentabell databasen använder. Vilka tecken som anses "problematiska" är alltså olika beroende på ISO-8859-1 och UTF-8 t.ex.
Så om du har två anslutningar mot olika databaser som kör olika charsets så kan du få situationer där SQL-injections är möjliga om du inte hänvisar till rätt databasanslutning när du kör mysql(i)_real_escape_string(). Detta är dock väldigt ovanligt eftersom det flesta enbart har en databas som scriptet jobbar mot, och i de fall man har flera databaser så har dessa i oftast samma charset. Men visst, Magnus_A har en poäng. Det är skadar inte att ta med link identifier. |
Citat:
<?php echo mysqli_real_escape_string('hej'); ?> Utan föregående uppkoppling så försöker php logga in utan lösenord, sällan en bra ide: Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Användare 'www-data'@'localhost' är ej berättigad att logga in (Använder lösen: NO) in /var/www/*** on line * Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /var/www/**** on line * Och för mysqli: Warning: mysqli_real_escape_string() expects exactly 2 parameters, 1 given in /var/www**** |
Alla tider är GMT +2. Klockan är nu 21:37. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson