Pouzitie htmlspecialchars na vystupe

Programovacie jazyky, rady, poradňa...
Holubar
Darca
Darca
Používateľov profilový obrázok
Príspevky: 3894
Registrovaný: 24 feb 2005, 21:26
Bydlisko: Senec
Kontaktovať používateľa:

Pouzitie htmlspecialchars na vystupe

Príspevok od používateľa Holubar »

Snazim sa pridat na web vlastny redakcny system a vo vzorovych kodoch, ked sa nieco vklada do MySQL, je pouzita funkcia mysql_real_escape - to rozumiem , ako ochranu databazy pred utokmi cez injection.
Ale ked sa vyberaju zaznamy z databazy, pre ich zobrazenie je pouzita funkcia htmlspecialchars a nerozumiem, naco to je dobre.
Ak sa ta funkcia pouziva, tak linky napisane v html formate zobrazi ako text aj s tagmi, ked ju odstranim, tak su to klasicke linky. Ma ta funkcia na vystupe nejaky bezpecnostny aspekt, alebo nieco z funkcneho hladiska? Lebo z toho, ako to vidim ja, mi akurat zabranuje formatovat prispevky pomocou html
awtt
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1234
Registrovaný: 01 nov 2006, 19:37
Bydlisko: San Francisco
Kontaktovať používateľa:

Re: Pouzitie htmlspecialchars na vystupe

Príspevok od používateľa awtt »

akurat? to je malo podľa teba? :)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Pouzitie htmlspecialchars na vystupe

Príspevok od používateľa audiotrack »

záleží aké dáta do tej db vkladáš. Táto funkcia sa ale používa pri vypisovaní užívateľských vstupov. Pri výstupe z db ju používať nemusíš, ak si si istý že je výstup v poriadku (kontroluješ ho pri zadávaní). Tiež ale záleží aj od dát v db, ak tam nemáš html tak tým že ju použiješ nič nepokazíš
Holubar
Darca
Darca
Používateľov profilový obrázok
Príspevky: 3894
Registrovaný: 24 feb 2005, 21:26
Bydlisko: Senec
Kontaktovať používateľa:

Re: Pouzitie htmlspecialchars na vystupe

Príspevok od používateľa Holubar »

No pri vstupe idu vzdy cez mysql_real_escape. Teraz mi konkretne ide o blogy a komentare, ktore budu pisat uzivatelia a moznosti formatovania textu. Ak to budem pouzivat pri vystupe, tak moznost formatovania html tagmi odpada.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Pouzitie htmlspecialchars na vystupe

Príspevok od používateľa audiotrack »

neodpada, len sa o preklad budeš musieť postarať osobitne
Holubar
Darca
Darca
Používateľov profilový obrázok
Príspevky: 3894
Registrovaný: 24 feb 2005, 21:26
Bydlisko: Senec
Kontaktovať používateľa:

Re: Pouzitie htmlspecialchars na vystupe

Príspevok od používateľa Holubar »

No este chcem prejt problematiku BBcode, tak to mozno veci vyriesi. Chcem len vediet, ak by som nepouzival v mojom pripade tuto funkciu na vystupe, ci hrozi nejake riziko od uzivatelov.
awtt
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1234
Registrovaný: 01 nov 2006, 19:37
Bydlisko: San Francisco
Kontaktovať používateľa:

Re: Pouzitie htmlspecialchars na vystupe

Príspevok od používateľa awtt »

no hrozi a dosť velke
Holubar
Darca
Darca
Používateľov profilový obrázok
Príspevky: 3894
Registrovaný: 24 feb 2005, 21:26
Bydlisko: Senec
Kontaktovať používateľa:

Re: Pouzitie htmlspecialchars na vystupe

Príspevok od používateľa Holubar »

Bol by som ti skutocne vdacny, keby si sa trochu rozpisal.
awtt
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1234
Registrovaný: 01 nov 2006, 19:37
Bydlisko: San Francisco
Kontaktovať používateľa:

Re: Pouzitie htmlspecialchars na vystupe

Príspevok od používateľa awtt »

pogoogli script injection
Holubar
Darca
Darca
Používateľov profilový obrázok
Príspevky: 3894
Registrovaný: 24 feb 2005, 21:26
Bydlisko: Senec
Kontaktovať používateľa:

Re: Pouzitie htmlspecialchars na vystupe

Príspevok od používateľa Holubar »

Cize ak na vstupe pouzijem osetrenie cez mysql_real_escape_string, ale na vystupe, to proste len vytiahnem cez SELECT a nicim to neosetrim, tak sa moze stat, ze tam niekto napise script, ktory sa spusti uzivatelovi, ktory si da stranku nacitat?

Takze vo vseobecnosti ma cez tu funkciu prechadzat vsetko, co sa taha z databazy a zadal to uzivatel, teda aj nick,meno, osobne info a podobne?
awtt
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1234
Registrovaný: 01 nov 2006, 19:37
Bydlisko: San Francisco
Kontaktovať používateľa:

Re: Pouzitie htmlspecialchars na vystupe

Príspevok od používateľa awtt »

všetko čo zadal uživateľ a ty to vypisuješ na web
Holubar
Darca
Darca
Používateľov profilový obrázok
Príspevky: 3894
Registrovaný: 24 feb 2005, 21:26
Bydlisko: Senec
Kontaktovať používateľa:

Re: Pouzitie htmlspecialchars na vystupe

Príspevok od používateľa Holubar »

tak som sa naucil zase nieco nove a mozem opravit skripty. Vdaka za prispevky
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Pouzitie htmlspecialchars na vystupe

Príspevok od používateľa audiotrack »

s tým nesúhlasím. Je viacero filozofii, ale ak budem všetko ošetrovať pri vstupe, nemusím ošetrovať výstupy. Ak je tam niečo nebezpečné, tak to ani neuložím do db a nie aby som to ukladal a dával pozor pri výpise. V prípade ale že tam budú ukladané časti hml (ako napr. v cms) tak je to zas iná vec. Preto treba rozhodovať čo a ako potrebuješ a na základe toho sa rozhodnúť. Ale určite nesúhlasím s výrokom že pomocou htmlspecialchars musím ošetrovať "všetko čo zadal uživateľ a ty to vypisuješ na web". Môžem napríklad požadovať číslo a potom mi stačí vypisovať (int)$_POST['vstup'] a htmlspecialchars mi je zbytočné. Môžem požadovať pár znakový reťazec a tiež mi je htmlspecialchars zbytočné (lebo na takom kúsku nepošleš nič škodlivé)...
Holubar
Darca
Darca
Používateľov profilový obrázok
Príspevky: 3894
Registrovaný: 24 feb 2005, 21:26
Bydlisko: Senec
Kontaktovať používateľa:

Re: Pouzitie htmlspecialchars na vystupe

Príspevok od používateľa Holubar »

No v kazdom pripade doplnim kniznicu o nieco z oblasti bezpecnosti. Co ma este zaujima je, akym sposobom osetri vstup funkcia mysql_real_escape_string - ak tam je nieco skodlive, tak to bude zmazane, alebo sa to len vlozi do nejakeho obalu, aby to neposkodilo databazu?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Pouzitie htmlspecialchars na vystupe

Príspevok od používateľa audiotrack »

každý škodlivý znak sa backslashne
Holubar
Darca
Darca
Používateľov profilový obrázok
Príspevky: 3894
Registrovaný: 24 feb 2005, 21:26
Bydlisko: Senec
Kontaktovať používateľa:

Re: Pouzitie htmlspecialchars na vystupe

Príspevok od používateľa Holubar »

Cize ak napr pred apostrof prida backslash a tak sa to ulozi do db, ako to potom funguje dalej? Skusil som to s komentarmi, na vystup som nedal nic, iba select a zobrazilo mi aj uvodzovky, aj apostrof a vsetko bez backslashov
Napísať odpoveď