ugrás a tartalomhoz

PHP strip_tags?

H.Z. v2 · 2012. Jan. 23. (H), 17.09
Egy blogban találtam egy rövidke értekezést arról, hogy miért nem elég jó védelem a strip_tags() használata.
Valamit nem értek: mikor van egyáltalán létjogosultsága e függvény használatának?
Eddig úgy tudtam, normális esetben a htmlspecialchars(??? - emlékezetből írom, remélem ő az a fv.) használatával illik kiirtani a userektől származó adatokból minden olyan karaktert, amivel html-t javascriptet vagy egyéb szemetet csempészhetnének az oldalunkba.
Van mégis olyan eset, amikor szükség lehet a strip_tags-re? (alapállás, hogy ha formázásra van szükségem, akkor max. BB code, de HTML-t nem engedek be)
 
1

soha

Crystal · 2012. Jan. 23. (H), 17.21
Valamit nem értek: mikor van egyáltalán létjogosultsága e függvény használatának?

Soha. Épp erről írtam a posztot anno.
2

Akkor bocs a félreértésért

H.Z. v2 · 2012. Jan. 23. (H), 17.26
Hm. Tény, nem olvastam végig az írásodat (egyre jobban felejtek mindent, az angolt különösen :( ), de úgy tűnt, lehet mégis valami értelme a használatának, ha közel egy oldalt szenteltél neki.
3

Nem. A "végkifejlet" az lett,

Crystal · 2012. Jan. 23. (H), 17.45
Nem. A "végkifejlet" az lett, hogy használjunk HTMLPurifier-t :)
4

Akkor kicsit pontosítva

H.Z. v2 · 2012. Jan. 23. (H), 17.54
Rosszul fogalmaztam: úgy kellett volna kérdeznem, hogy mikor van létjogosultsága annak, hogy HTML kódot engedek be a usertől származó adatok közé úgy, hogy azt később HTML-ként jelenítem meg?
Mert ha jól értem, a HTMLPurifier a strip_tags feladatát látja el, csak lényegesen biztonságosabb formában.
Én meg nehezen tudok elképzelni olyan alkalmazást, ahol meg akarnám engedni a usernek, hogy HTML-t küldjön be.
5

Sok felhasználó

Poetro · 2012. Jan. 23. (H), 18.30
Ha van több tízezer felhasználód, és azoknak kell adni egy igen jó WYSIWYG szerkesztőt, akkor. Én például még nem találtam túl jó szerkesztőt, ami kimenetként mondjuk BBCode-ot vagy Markdown-t adott volna, de teljes értékű WYSIWYG szerkesztő lenne.
8

Köszi, így már érthető(bb).

H.Z. v2 · 2012. Jan. 23. (H), 18.52
Köszi, így már érthető(bb).
6

HTML kódra szükség van: -

Kubi · 2012. Jan. 23. (H), 18.37
HTML kódra szükség van:

- Röviden: üzleti logikától függ
- hoszabban:

ha a felhasználó igényel egy rich text editort (ckeditor, tinymce), amivel képeket tölthet fel és csicsázhatja a tartalmát. Ez kb azt jelenti, hogy mindig.

Nem minden user számára jelent biztonsági rést a html kód engedélyezése. Pl. admin user, aki az oldal tulaja, vagy a tulaj egy megbízottja, nem kockázat, mert magával cseszik ki.

Másik eset például a blogger.com , regisztrálsz, létrehozol blogot (te vagy a "tulaja"), és full html hozzáférésed van, itt is a user problémája ha kártékony kód kerül ki. Kommentezők persze nem írhatnak html kódot.
7

Mindig azt hiszem, hogy az

H.Z. v2 · 2012. Jan. 23. (H), 18.50
Mindig azt hiszem, hogy az olvasók kitalálják a gondolataimat is. :)
Az tiszta, hogy ha nincs szükségem HTML szűrésre, akkor beengedem ezeket a kódokat is, de ott nem nagyon használsz strip_tags-t, HTMLPurifier-t stb., ha jól sejtem, mert rábízod az illetőre, hogy csináljon, amit akar.

Az első pont (Poetro hozzászólásának(*) fényében) már érthetőbbnek tűnik.


* - az meglep, hogy nincs teljesértékű BB code-os szerkesztő, igaz, az én igényeim e téren, nem túl nagyok.
10

Marika néni

Pepita · 2012. Jan. 24. (K), 23.15
...rábízod az illetőre, hogy csináljon, amit akar.
Nem hinném, hogy a Gipsz Jakab Kft. tulajdonosa, akinek 55 éves titkárnője a PC-használatot is tegnap kezdte, megelégedne ennyivel. Azt mondja: "Igenis, Marikanéni majd beírkálja a hülye HTMLkódokat, de <strong>-ot ne tudjon, mert a Wordben is mindent kövéren ír". Máris a Júzertől érkező adatokra használod.
Egyébként meg nagyonis van létjogosultságuk akkor, amikor máshonnét származó (rss/html)kódot használsz fel tartalomként, és - mondjuk - ki akarod venni belőle a képeket.
11

Nekem eddig csak manuál

deejayy · 2012. Jan. 30. (H), 09.34
Nekem eddig csak manuál preview-val sikerült a legközelebb kerülni a wysiwyg bbcode szerkesztőhöz. Ez is ajax hívással kéri el a generált html-t az inputmező alapján...
9

van ilyen

Crystal · 2012. Jan. 23. (H), 20.28
Hogy mennyire jó dolog HTML-t fogadni az usertől, arról biztos sokáig lehetne vitatkozni, de azt biztosan nem lehet állítani, hogy sosincs rá szükség. Pl. mi van ha olyan 3rd-party rendszerrel kell integrálni egy PHP-s alkalmazást, ami HTML-t fogad (abba se menjünk bele hogy mezei fejlesztő hányszor találkozik ilyennel, a lényeg, hogy nem lehet kizárni a lehetőséget).