Kde jsou bezpečnostní rizika
O co se jedná
Pokud chceme uživatelům umožnit vkládat HTML kód, musíme zvážit rizika. Uživatel může do textu vložit uzavírající tag >, čímž poruší kompletně strukturu stránky a v horším případě může na serveru spustit svůj PHP kod, což už je fatální chyba. K filtrování řetězců které mají v HTML význam máme v PHP speciální funkce.Například nejpoužívanější htmlentities, která převádí která převádí HTML tagy a speciální znaky na jejich entity, tedy převádí znak na neškodný řetězec.
Druha je pak striptags, která pouze tagy odstraňuje a my tak ztratíme jakoukoli informaci o jejich přítomnosti.
Co můžeme a co ne
Většinou chceme povolit tagy image a anchor.Pro důkladné ošetření kódu je v tom to případě přijmout informaci o odkazu, validovat ji pro funkčnost a korektnost a vložit ji zpět do korektního kódu.
Validace pro vkládání odkazu nebo obrázku by měla obsahovat následující:
a pak opět vrátit uvozovky na konec a na začátek odkazu.
Autor: Filip Koval