PHP: htmlentities() avagy a blog.hu és a kacsacsőrök esete

Fórumokon, blogokon, meg úgy általában csak úgy akárkinek nem szokták megengedni, hogy HTML-t ágyazzon a megjegyzésekbe, hozzászólásokba, stb. Hogy miért az egyértelmű: nem kell az, hogy valaki önkényesen módosítgassa az oldalt… Meg persze ott van az XSS támadás veszélye.

Az ilyenek úgy lehet kivédeni, hogy vagy teljesen letiltjuk a HTML elemeket — névlegesen a kacsacsőröket: < > — vagy korlátozzuk az előfordulásukat valami szűrővel. Így, ha valaki azt írja hozzászólásba, hogy <a href="">Link</a>, akkor nem az jelenik meg, hogy Link, hanem az, amit beírt: <a href=””>Link</a>.

Itt az én blogomon, és sok más helyen úgy van megoldva, hogy a program elemzi a hozzászólást, és azt, hogy <a href=... átengedi, de azt, hogy <script type=... már nem. Utóbbi nemhogy nem jelenik meg úgy ahogy beírta, de teljesen el is tűnik.

Az első, amit-beírtál-az-jelenik-meg módszer ott jó, ahol teljesen le van tiltva a HTML. A második, válogatós módszer pedig ott, nyilvánvalóan, ahol válogatni akarunk.

A Blog.hu viszont hülye. Egyáltalán nem enged HTML-t, de ha mégis valamilyen okból — szmájli, egyenlet, stb. — kacsacsőröket akarunk írni, akkor azt kiszűri. Mert itt kérem szépen, nem lesz XSS.

Bemutatnám nekik a PHP htmlentities() funkcióját, amivel jóvá lehetne tenni ezt a rohadt nagy baromságot. Ágyúval verébre.

5 Comments

  1. Igen, persze, leírhattam volna ugyanezt több tisztelettel is, de én nagy hülyeségnak tartom, hogy ha valaki teszemazt egy egyenletet, vagy egy szmájlit akar beírni egy hozzászólásba, akkor egy egyszerűen kivédhető technikai baki miatt nem tudja azt megtenni.

  2. A hülyeség az Ő hülyesége. Mutass rá, és kész.
    A “hülyeség” és a “hülye” azért más, nem??
    (Plö: hülyeség, hogy ide írok, de mégsem vagyok hülye. Legalábbis ezt nem vettem észre magamon, mások meg mit mondanak, kit érdekel , ugye. Szóval tudom ez sem iggazán, but God knows.)
    Amúgy érdekes, amit mondasz, tudniilik: “szmájlit akar beírni egy hozzászólásba, akkor egy egyszerűen kivédhető technikai baki miatt nem tudja azt megtenni.” Jó tudni, hogy van aki figyel. Komolyan.
    Minden jót, kedves B.!

  3. taijiqu:
    Egy teljesen ártatlan kérdés: programozni tudsz? Csak mert ha igen, akkor biztosan értenéd a dolog többé-kevésbé vicces mivoltát. (Az, hogy kacsacsőröket lehessen beilleszteni legfeljebb pár sor kód hozzáadását jelentené, egy amúgy kifejezetten nagy rendszerben.) Ha nem, akkor megértem, hogy annyi jön le, hogy itt vki szapulja a blog.hu-t egy (ezt el kell ismernem) semmiség miatt.

  4. Palotás Boldizsár:
    Yo a kérdés: mittudok. Keveset.
    Nem teljesen mindegy ki mit tud? Az jön le, ami. Nem-e? (Én ártatlan vagyok)
    zárójelben: kit érdekel a blog.hu…másabbak a dolgok, nem-e?
    Amúgy nem számít. Hagyj kommentet, ha akarsz Arjunanak, ide többet nem írok.
    Isten áldjon , B.!
    Szia.

Leave a Comment

Your email address will not be published. Required fields are marked *