A PHP htmlentities funkciója

Minden olyan esetben, amikor lehetővé tesszük a felhasználók számára, hogy tartalmakat tegyenek közzé a weboldalon, fontos, hogy nagyon óvatosak legyünk. Semmiképp sem szabad olyan biztonsági hibákat elkövetni, amelyek lehetővé teszik a rossz szándékú felhasználók számára, hogy kihasználják a gyengeségeket. Azokban az esetekben, amikor a felhasználó által bevitt szöveg a nyilvánosság számára is látható, nem árt elgondolkodni a htmlentities funkció alkalmazásán, mely megakadályozza, hogy olyan HTML-kódokat és scripteket futtassanak a rosszakarók, amelyek veszélyesek a többi látogatóra nézve.

 

PHP — a HTML-entitásokká való átalakítása

Először is fussuk át gyorsan, mik az entitások. A HTML-ben több olyan karakterrel találkozhatunk, amely a tagek része is lehet. Ilyen például a < és a > jel. Ezeknek a karaktereknek a megjelenítésére szolgálnak az entitások. Az entitás így fest: &entitás_neve; vagy &#entitás_száma;. A „kisebb, mint” (angolul „less than”) jelet így írhatjuk fel entitásként: < vagy <

htmlentities funkció megragad egy stringet, és ugyanazt a stringet adja vissza, azzal, hogy a HTML-t HTML-entitásokká alakítja. Például a "'; // Gondoskodjunk a biztonságról! $user_input_entities = htmlentities($user_input); // Most már megjeleníthetjük echo $user_input_entities;

 

A fenti script így jelenne meg:

Biztonságos nyers HTML-kód:

Megtámadtam a weboldaladat, hahaha!

 

 

Ha nem használtuk volna a htmlentities funkciót, hogy a HTML-kód karaktereit biztonságos entitásokká alakítsuk, a nyers HTML-kód a látogatót az example.com oldalra irányítaná, és a következőképp festene.

 

Veszélyes nyers HTML-kód:

Megtámadtam a weboldaladat, hahaha!


      

 

Veszélyes megjelenítés:

Azt a spamoldalt látnánk, amelyre a rosszindulatú felhasználó irányított bennünket. Valószínűleg valamilyen nem tesztelt növényi étrend-kiegészítő vagy fogyást elősegítő tabletta weboldalára kerülnénk.

Tipp: Ahhoz, hogy a HTML-entitásokat visszaalakítsuk karakterekké, a html_entity_decode() funkciót alkalmazhatjuk.

 

Mikor érdemes használni a htmlentities funkciót?

Minden olyan esetben, amikor lehetővé tesszük a látogatóknak, hogy valamilyen tartalmat tegyenek közzé a weboldalon, érdemes megtagadni tőlük a lehetőséget, hogy HTML-t használjanak. Ezzel ugyan számos olyan nagyszerű dolgot is megakadályozunk, amelyre a felhasználók képesek lennének, mint például az erősen személyre szabott tartalom, de sok gyakori támadástól is megvédhetjük weboldalunkat. A tapasztaltabb programozók pontosan meghatározhatják azoknak a tageknek a futtatását, amelyeket veszélyesnek ítélnek, ez azonban meghaladja mai leckénk kereteit.

Összegzés

Reméljük, nem találtad túlzottan bonyolultnak a htmlentities funkciót! A lecke végére érve biztosan egyetértesz velünk abban, hogy érdemes megtanulni a használatát (és használni is a funkciót). Ne feledd, minden alkalommal, amikor lehetővé teszed a felhasználók számára, hogy tartalmat tegyenek közzé az oldaladon, valójában hozzáférést adsz nekik a honlapodhoz. Mindig fontos, hogy komolyan vedd a biztonságot, és megtedd a megfelelő óvintézkedéseket.

Az oldal sütiket használ, hogy személyre szabjuk a tartalmakat és reklámokat, hogy működjenek a közösségi média funkciók, valamint hogy elemezzük a weboldal forgalmát. Bővebben a "Részletek mutatása" gombra olvashat.
Az oldal sütiket használ, hogy személyre szabja az oldalon megjelenő tartalmat és reklámokat.