Avatar billede hoejgaard Juniormester
24. november 2007 - 15:25 Der er 3 kommentarer og
1 løsning

Hvad er stripslashes

Jeg har en form med en editor hvor jeg sætter noget i en MySql database tabel. Jeg har har prøvet at bruge stripslashes på outputtet fra databasen, og det giver det rigtige resultat, hvorimod jeg får noget volapyk når jeg ikke bruger stripslashes på outputtet.
I min test har jeg skrevet 1234 med rød farve i editoren, og får følgende output :

Med stripslashes har jeg følgende både før og efter :
<span style="COLOR: #ff0000">1234</span>

Uden stripslashes har jeg følgende efter :
<span #ff0000\?="" style=""COLOR: ">1234</span>

Jeg ved ikke så meget om stripslashes, så vil gerne have en god forklaring på hvorfor jeg er nødt til at bruge stripslashes på outputtet, for at det ser rigtigt ud ??
Avatar billede abruscato Nybegynder
24. november 2007 - 17:24 #1
Det er fordi MySQL et sat til automatisk at slash'e citationstegn for at beskytte imod sql-injections, da ikke alle programmører husker at køre variabler gennem addslashes().
Avatar billede showsource Seniormester
24. november 2007 - 19:50 #2
Det er nu php's inifil som er afgørende, ( magic_quotes_gpc )
http://dk2.php.net/manual/da/function.get-magic-quotes-gpc.php

http://dk2.php.net/manual/da/function.mysql-real-escape-string.php
er et ex. på en funktion "quote_smart()" som du kan bruge til at sikre en sql

Kort fortalt, når magic_quotes_gpc er On, vil post/get og cookie data automatisk blive escapet

Test' "tekst"
vil blive til
Test\' \"tekst\"

Det lader til du får brugt en "dobbelt" addslashes når du gemmer i DB, når du er nødt til at bruge stripslashes ved visning
Avatar billede abruscato Nybegynder
24. november 2007 - 22:17 #3
Det er helt rigtigt mht. php.ini - min fejl.
Avatar billede hoejgaard Juniormester
28. november 2007 - 13:15 #4
læg et svar begge
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