PHPműhely.hu

PHP, Javascript, Webprogramozási Fórum

htmlentities() függvényről

PHP Cikkek, segédletek

htmlentities() függvényről

HozzászólásSzerző: Bonjasky » 2011.12.01. 21:00

Ez egy nagyon sokszor használt függvény, mivel a weblapok védelem nélkül célpontjai a támadásoknak. Tegyük fel, készítesz egy üzenõfalat, és egy az egyben kiíratod azokat a szövegeket amiket a felhasználók beírnak. Ez a legrosszabb amit csak tehetsz! Például én ezt írom ki:

Kód: Egész kijelölése
<script> function hihi() { for(i=0 ; i<10 ; i++) { alert('EZ EGY KELLEMETLEN DÖG, VÉDD JOBBAN A CSETED, ÉS HASZNÁLD A htmlspecielchars() -t'); } } </script>



Kód: Egész kijelölése
<input type="button" onclick="hihi()" value="nyomj meg!">
A hatása ennek ez lesz!

Kód: Egész kijelölése
<script> function hihi() { for(i=0 ; i<10 ; i++) { alert('EZ EGY KELLEMETLEN DÖG, VÉDD JOBBAN A CSETED, ÉS HASZNÁLD A htmlspecielchars() -t'); } } </script> <input type="button" onclick="hihi()" value="nyomj meg!">

Ugye kellemetlen? Akár végtelen ciklust is tehetek bele, de van még pár undorító dolog amit megtennének egy rosszul védett üzenõfallal! De ha kiíratáskor a user szövegére használod a htmlspecialchars() -t, az elozo példa nem fut le, mert a böngészoben a beírt kód HTML entitása jelenik meg.

Kód: Egész kijelölése
    
<?php $szoveg='<script>
function hihi() { for(i=0 ; i<10 ; i++) { alert(\'EZ EGY KELLEMETLEN
DÖG, VÉDD JOBBAN A CSETED, ÉS HASZNÁLD A
htmlspecielchars() -t\'); } } </script>'
; echo htmlentities($szoveg); ?>

Ennek a kimenete htmlentities() miatt nem fut le a HTMl megjelenésével. A speciális karakterek HTML megfelelokre konvertálódtak át. Felmerülhet a kérdés, hogy ezt a htmlentities() -t mikor kéne alkalmazni? -Amikur a felhasználó beküldi az üzenetet a mysql táblába/fájl adatbázisba, vagy amikor lekérjük és kiírjuk? Érdemes úgy hagyni a bejövo adatot ahogy bejön, mert késõbbiekben ha BB kódokkal látnánk el az üzenofalad, akkor a BB kódokat is átalakítaná ez a hasznos függvény. Így mindig a kiíratásnál alkalmazzuk inkább. A user bejövo adatai amennyiben megjelenhetnek másik felhasználóknál, akkor azokon is alkalmazni kell ezt a függvényt.
Avatar
Bonjasky
Adminisztrátor
 
Hozzászólások: 471
Csatlakozott: 2011.10.30. 23:30

Vissza: Segédletek

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég

cron