str_replace (PHP)
Daily Rush › Debat › Programmering › str_replace (PHP)
- Dette indlæg indeholder 13 kommentarer, har 6 deltagere og blev senest opdateret af
Prise for 11 år, 10 måneder siden.
- ForfatterEmne
- 25/03/2009 kl. 17:12#0
Jeg kan ikke gennemskue hvorfor flg ikke virker.. Er der nogen der ved hvad der kan være galt?
Den gør ikke det den skal, ø kommer stadig til at være ø :S
$tekst = str_replace(“ø”,”ø”,$_POST[‘tekst’]);
Mange tak
- ForfatterEmne
- ForfatterKommentarer
- 25/03/2009 kl. 17:13 #1
Ø nr 2 skal selvfølgelig være: “& o s l a s h ;”
25/03/2009 kl. 17:23 #2Hvad forsøger du at gøre, og hvordan ved du at det ikke virker? Hvis du bare echo’er strengen, vil du jo ikke kunne se forskel på de to tegn (HTML-mæssigt).
Måske mener du $_POST[‘tekst’] i stedet for $tekst?
"Kind of like a drunken Batman with a huge cock."
25/03/2009 kl. 17:26 #3Det er fordi ø bliver gemt i min db som “& o s l a s h ;” så når jeg skal søge efter ø i min db så kan den ikke finde noget med mindre jeg søger “& o s l a s h ;”… Hvis du forstår
25/03/2009 kl. 17:42 #4Ville det så ikke være bedre at sørge for at ø ikke blive gemt som oslash? Problemet er vel at strengen bliver smidt igennem htmlspecialchars() eller tilsvarende, før den bliver gemt i databasen.
"Kind of like a drunken Batman with a huge cock."
25/03/2009 kl. 17:44 #5kender ikke lige konteksten, men kunne du så ikke encode din søgestreng før du søger? eller måske, encode db indholdet før det bliver skrevet ud ?
altså hvis du kører noget der encoder din tekst før du gemmer det, kører du det også på en søgestreng…
men ok kender ikke noget det du vil og slet ikke PHP… (som du måske godt lige kunne have skrevet det drejede sig om i indlægget)
- Holger "A woman drove me to drink and I didn't even have the decency to thank her." - W. C. Fields
25/03/2009 kl. 17:47 #6Det eneste strengen løber igennem inden den bliver gemt er htmlentities, kan det være derfor den laver et slash ø?
25/03/2009 kl. 18:01 #7#6 Ja – det er sku da det som #4 lige har sagt.
Jævnfør: http://dk.php.net/htmlentities
Tag forbehold for tossede, sarkastiske, dumme, grove, unødvendigt aggressive og fejlagtige forumindlæg og kommentarer. Jeg beklager.
25/03/2009 kl. 18:13 #8En god tommelfingerregel, er at gemme præcis hvad brugeren taster ind, og så vente med at html/url escape, trimme osv. til du skal vise det igen
25/03/2009 kl. 18:29 #9#7 Nå sku da.. Det må du satme undskylde
#8 Det må vel være løsningen.. Takker
25/03/2009 kl. 21:16 #10#8 WHAT!?! Det er da bare guffe nam nam for en hacker det du nævner der!
Gør ALT hvad du kan for, at få specialtegn ud af en string, som interagere direkte med databasen!
Du skal nok mere kigge på den encoding du bruger på henholdsvis dit html og database. Brug UTF-8 på begge.
25/03/2009 kl. 21:28 #11Det som betyder noget i forhold til enkodning mellem browser og db, så det der betyder noget er hvorvidt data er indtastet og hvordan den vises, hvis du indtaster med ISO 8895 eller hvad den nu hedder, og viser med samme enkodning, er databasens indstilling ligegyldig.
#8 Ak! Som Johnsen siger, så er hele ideen at forebygge injections vel.
Tag forbehold for tossede, sarkastiske, dumme, grove, unødvendigt aggressive og fejlagtige forumindlæg og kommentarer. Jeg beklager.
25/03/2009 kl. 21:42 #12så kunne man jo også bruge et framework som forhindrede sql injections…
men ok så begynder vi jo bare en religionskrig…
- Holger "A woman drove me to drink and I didn't even have the decency to thank her." - W. C. Fields
25/03/2009 kl. 22:44 #13#10 SQL injections er intet problem, for selvfølgelig parametriserer man sine SQL queries. Ikke noget religion i det, det er bare ordentligt håndværk.
- ForfatterKommentarer
- Du skal være logget ind for at kommentere på dette indlæg.
























