Cross-site scripting (XSS)
Útoky typu XSS spočívají ve vložení klientských skriptů (např. JavaScript) do HTML dokumentu cizí webové aplikace.
Příklad v kontextu aplikace Django:
<style class={{ var }}>...</style>
Pokud var
obsahuje např. string class1 onmouseover=javascript:func()
, máme problém... Další příklady jsou na Wikipedii.
Django poskytuje automatické escapování v šablonách HTML, ale je potřeba dávat pozor na případy, kdy je nutné tuto ochranu vypnout (např. když chceme zobrazit kus HTML uloženého v databázi). Nedůvěryhodná data můžou pocházet odkudkoliv (např. URL parametry, formuláře, databáze, cookies, uploadované soubory, ...)