| htmlentities in šumniki | ||
|---|---|---|
|
zacetnik
29. mar 2011 22:04:39
Pridružen od: 25. jul 2009 54 objav 6 7 1 |
#1
Imam eno težavo. Ko uporabnik submita formo, uporabim htmlentities. Tako se izognem javascript hekom in preprečim da bi uporabnik vnesel kak style. Problem pa je, ker mi ta funkcija converta tudi šumnike. Iz Rogaška tako nastane rogaška. Ima kdo kako idejo kako bo obdržal to funkcijo, vendar da mi ne bi spremenilo šumnike? Obstaja kaka podobna rešitev? Hvala *Uporabniku je bila prepovedana uporaba foruma zaradi večih uporabniških računov, ki so po [pravilih obnašanja](/pravila.html) prepovedani.*
|
|
|
McDave
29. mar 2011 22:32:15
Pridružen od: 21. avg 2008 135 objav 47 29 0 |
#2
A to, da ti tut š-je converta predstavlja kakšno posebno oviro? Sej browser brez problema prikaže črko š namesto š. |
|
|
zacetnik
30. mar 2011 07:34:08
Pridružen od: 25. jul 2009 54 objav 6 7 1 |
#3
Ovira ja ker moram primerjati vrednosti iz druge tabele. Sicer sem imel v mislih da napišem še eno funkcijo. Zanima me samo če sem kaj spregledal, če obstaja kaka druga podobna funkcija ali kak dodaten parameter, ki bi rešil to brez dodatne funkcije. *Uporabniku je bila prepovedana uporaba foruma zaradi večih uporabniških računov, ki so po [pravilih obnašanja](/pravila.html) prepovedani.*
|
|
|
SlimDeluxe
30. mar 2011 07:53:16
Pridružen od: 29. apr 2010 1223 objav 1022 144 9 |
Freelance Web Developer
|
|
|
fatg
30. mar 2011 14:11:24
Pridružen od: 28. jan 2008 94 objav 73 2 0 |
#5
Če prav razumem, se problema mogoče lotevaš narobe. htmlentities() in htmlspecialchars() sta funkciji, ki jih kličeš nad podatki, ki gredo od tebe k uporabniku, torej, ko sestavljaš HTML, ne pa, ko podatke vpisuješ v bazo. Tam moraš narediti SQL escaping, kar je nekaj čisto drugega. Primer: |
|
|
zacetnik
30. mar 2011 19:49:12
Pridružen od: 25. jul 2009 54 objav 6 7 1 |
#6
hvala za rešitev. fatg zakaj pa da ne bi že pri vpisovanju v bazo uporabil htmlspecialchars? Imam mini funkcijo, ki hkrati naredi SQL escaping in gre hkrati htmlspecialchars. Podatki se namreč prikazujejo na strani editprofile.php in na strani profile.php. Tako na strani profile.php ne potrebujem več klicati htmlspecialchars in je koda preglednejša. *Uporabniku je bila prepovedana uporaba foruma zaradi večih uporabniških računov, ki so po [pravilih obnašanja](/pravila.html) prepovedani.*
|
|
|
fatg
30. mar 2011 21:01:07
Pridružen od: 28. jan 2008 94 objav 73 2 0 |
#7
Gre za to, da imaš podatke v bazi take, kot morajo biti, torej v obliki, ki ni odvisna od konteksta. HTML escaping je bil narejen izključno za potrebe izpisa v HTML, če boš podatke metal kam drugam (datoteka, javascript, css, ...), jih boš moral dodatno obdelovati. Pa da ti dela iskanje po recimo O'Rielly, namesto da bi imel v bazi O'Rielly in podobne finte. Pač, podatke naj bi v bazi imel v "čisti" obliki in jih po potrebi escapal glede na to, kam jih daš, ko jih daš. |
|
|
SlimDeluxe
30. mar 2011 22:02:19
Pridružen od: 29. apr 2010 1223 objav 1022 144 9 |
Freelance Web Developer
|
|