Ang sql injections

Tags:    mysql

<< < 12 > >>
For at beskytte sig selv via sql injections i input felter, er det så nok at smide alle variabler fra de input felter ind i en addslashes eller skal der mere til?

Fold kodeboks ind/udPHP kode 




12 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 6 karma
Sorter efter stemmer Sorter efter dato
Den pæne løsning ville være at lade vær med at bruge den deprecatede mysql-extension. Jeg kan anbefale prepared statements fra PDO - så får du ingen problemer med SQL injection.



Første parameter skal være forbindelsen til din database. Hvis du bruger det objektorienterede API skal du bruge

Fold kodeboks ind/udPHP kode 




Når du bruger, så vil jeg råde dig stærkt til at bruge mysql_real_escape_string, htmlentities og strip_tags. Et eksempel kunne se sådan ud:

Fold kodeboks ind/udPHP kode 


Du kan læse en del her:
http://www.google.dk/search?gcx=w&sourceid=chrome&ie=UTF-8&q=php+sql+injections



Daniele, hvorfor 3 forskellige og hvorfor ikke addslashes?

Jeg spørger til det fordi jeg ikke selv ved hvad jeg skal anvende.



Jeg bruger aldrig addslashes, og det er sådan set kun fordi at jeg aldrig har fået testet det. Men jeg bruger primært mysql_real_escape_string fordi at jeg har aldrig har haft problemer med det, og jeg er blevet rådet til det rigtig mange gange.

Strip_tags syntes jeg også er ret god - den er jeg også blevet rådet til mange gange :).
Men jeg vil altid råde til mysql_real_escape_string.



Jeg prøvede lige og smide mysql_real_escape_string ind, men får så denne fejl:

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (13) in

Og der er lavet en database forbindelse inden?



Er du sikker på at database forbindelsen fungere?

Fold kodeboks ind/udPHP kode 




Ja 100% for siden fungere ganske udemærket, bruger dog mysqli hvis det har noget at sige med real escape string



så skal du jo også bruge mysqli_real_escape_string



Ah ja det lyder logisk :) Men så giver det bare en anden fejl nu nemlig:

Warning: mysqli_real_escape_string() expects exactly 2 parameters, 1 given in


Fold kodeboks ind/udPHP kode 




<< < 12 > >>
t