Avatar billede kubs Nybegynder
17. april 2009 - 00:34 Der er 13 kommentarer og
1 løsning

Problem med at der sættes \ foran "

Jeg har lavet et script, hvor jeg bruger fwrite funktionen til at skrive data fra en database til en ny php fil.
Mit problem er bare at ved den kode, som har været gemt i min database, bliver der sat et \ foran hvert ", når det bliver skrevet til min nye fil.
Er der nogen der har en god forklaring på det??? og hvordan man evt. kan slippe for det?
Avatar billede CCodam Nybegynder
17. april 2009 - 00:47 #1
\ (escaping), bruges når man vil benytte tegnet " inden under fx php echo, det er sådan så den ikke registrerer " som en del af scriptet men som tekst.

echo "<img src=\"billede.jpg\" alt=\"Dette er et billede\">";

Håber du forstår?
Avatar billede arne_v Ekspert
17. april 2009 - 03:33 #2
Har du:

magic_quotes_gpc = On

i din php.ini ?
Avatar billede yHec Novice
17. april 2009 - 06:43 #3
Du kan slippe for det, ved at bruge stripslashes.

echo stripslashes(den-escapede-streng)

/Y
Avatar billede kubs Nybegynder
17. april 2009 - 13:59 #4
Tak Y.

Det var lige den kommando jeg stod og manglende.

Ved ikke om du får dine point, ved at jeg skriver dette her svar til dig..
Avatar billede kubs Nybegynder
17. april 2009 - 14:01 #5
Men hvis du skal skrive noget mere.. Så skal jeg nok acceptere det.

Ligeledes tak til jer andre..
Avatar billede CCodam Nybegynder
17. april 2009 - 15:29 #6
#5 Du giver ham point, ved at acceptere hans Svar, det kræver dog lige at han ligger et :)
Avatar billede kubs Nybegynder
17. april 2009 - 16:01 #7
Det var også hvad jeg kom frem til efter mit indlæg i nr #4 :)
Avatar billede yHec Novice
17. april 2009 - 16:11 #8
Svar :-)

/y
Avatar billede arne_v Ekspert
17. april 2009 - 16:23 #9
stripslashes fjerner dem, men jeg vil mene at det var bedre at fjern grunden til at de kom der.
Avatar billede kubs Nybegynder
17. april 2009 - 16:29 #10
Det kan der selvfølgelig være noget :)

Men for at svare på de spørgsmpl fra tidligere, så er

magic_quotes_gpc = On

Er det den der indsætter dem?
Avatar billede arne_v Ekspert
17. april 2009 - 16:41 #11
Ja.

Saet den til off og sikker dig at der bruges mysqli/PDO parameters ved indsaettelse i database (som noedloesning kan mysql escape string bruges).

PHP docs er ret klare:
  http://us2.php.net/manual/en/info.configuration.php#ini.magic-quotes-gpc
Avatar billede kubs Nybegynder
17. april 2009 - 17:09 #12
Det virker sørme også :) Tak..

Hvis du gerne vil have point også, så kan du skrive et svar..

(ved ikke om jeg kan dele flere ud)
Avatar billede webweaver Praktikant
17. april 2009 - 23:50 #13
Det er jo sådan set fint nok muligheden stadig er der.
Hvor du bare bruger stripslashes til at fjerne dem. Det kan jo være du skal bruge funktionen et andet :)

Den bruges iøvrigt som sikkerhed til fx. en gæstebog. Hvis der er en som prøver at spamme din gæstebog ved at smide at JavaScript ind, så vil den smide / ind foran " og ødelægge hans script, så det ikke vil fungere for ham.

Bare så du har en anelse om hvad det fx kan bruges til en anden gang :)
Avatar billede arne_v Ekspert
19. april 2009 - 01:59 #14
Man bør bruge data validering for at beskytte sig mod JS snavs.
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

IT-JOB

Lægemiddelstyrelsen

Løsningsarkitekt

Netcompany A/S

IT Consultant

Forsvarsministeriets Materiel- og Indkøbsstyrelse

IT-Sikkerhedsrådgiver til Cyberdivisionen i Hvidovre

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger chef for Lokal IT i hovedstadsområdet