("Úroveň zabezpečení aplikace bych rozdělil do tří úrovní:",None),
),
(
("Aplikace zabezpečená není, neošetřuje uživatelské vstupy ani své výstupy.",("li","ol")),
("Aplikace se o zabezpečení snaží, ale takovým způsobem, že na ně lze zapomenout.",("li","ol")),
("Aplikace se o zabezpečení stará sama, prakticky se nedá udělat chyba.",("li","ol")),
),
(
("Jak se tyto úrovně projevují v jednotlivých oblastech?",None),
),
(
("XSS",("a","h2")),
("Druhou úroveň představuje ruční ošetřování pomocí",None),
("htmlspecialchars",("a","kbd")),
(". Třetí úroveň zdánlivě reprezentuje automatické ošetřování v šablonách, např. v",None),
("Nette Latte",("a","strong")),
(". Proč píšu zdánlivě? Problém je v tom, že ošetření se dá obvykle snadno zakázat, např. v Latte pomocí",None),
("{!$var}",("code",)),
(". Viděl jsem šablony plné vykřičníků i na místech, kde být neměly. Autor to vysvětlil tak, že psaní",None),
("{$var}",("code",)),
("někde způsobovalo problémy, které po přidání vykřičníku zmizely, tak je začal psát všude.",None),
),
(
("<?php\n$safeHtml = $texy->process($content_texy);\n$content = Html::el()->setHtml($safeHtml);\n// v šabloně pak můžeme použít {$content}\n?>",("pre",)),
),
(
("Ideální by bylo, když by už samotná metoda",None),