Avatar billede ahrensberg Nybegynder
18. februar 2007 - 22:08 Der er 2 kommentarer

mysql_real_escape_string og addslashes

Hej alle

Nogen synderlig forskel på disse to funktioner:
- (1) mysql_real_escape_string() > http://dk.php.net/manual/en/function.mysql-real-escape-string.php
- (2) addslashes() > http://dk.php.net/manual/en/function.addslashes.php

Udover at (1) virker på:
- \x00, \n, \r, \, ', " og \x1a

Og (2) kun på:
- ', " og \
Avatar billede showsource Seniormester
19. februar 2007 - 01:22 #1
mysql_real_escape_string() skal ha' en connection til DB for at virke.

addslashes() og mysql_real_escape_string() tilføjer jo \ uanset hvad, men laver du et tjek på get_magic_quotes() inden de bruges, undgår du "dobbeltkonfekt"

Skal du bruge mysql for at håndtere brugerinput, så brug mysql_real...
Avatar billede Slettet bruger
19. februar 2007 - 10:22 #2
Saa laenge du kun arbejder med latin1 i dine charsets er det saadan set lige gyldigt om du bruger addslashes eller mysql_real_escape_string .

Men hvis du bruger multibyte charsets som gbk_chinese_ci eller lignende vil din applikation vaere saabar for sql-injections hvis du bruger addslashes.

Forskellene er lige noejagtigt som du selv har skrevet i spoergsmaalet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester