Kódování jako bezpečnostní hrozba

Taky vidíte posledních pár dní na stránce Ulož.to​ čínské znaky? Je to jedna z chyb, která může mít dopady na bezpečnost webu – to se už ale málo ví. O co jde?

Web Ulož.to na tomto místě má reklamu, ale při jejím umístění zanedbal několik zásad, tedy zejména určení znakové sady (např.: UTF-8, v tomto případě Windows-1250).

Chyba je konkrétně v souboru o2-search-bar2.html (archiv), který má reklamu zobrazit. Tato stránka nemá nikde definovanou znakovou sadu a tak se prohlížeč musí rozhodnout sám, jakou zvolí. Chrome na OS X se rozhodl pro UTF-16BE, nicméně protože soubor je ve skutečnosti v jiném kódování, zobrazily se nesmyslné čínské znaky.

A právě tato chyba jde zneužít pro útok. Pokud totiž není sada určena, může se do kódu vpašovat něco, co bude vypadat a fungovat jinak v každém kódování.  Pokračování textu Kódování jako bezpečnostní hrozba

Čárové kódy na webových stránkách

Čárové kódy známe všichni, jsou to ty podivné čárky a čísly na krabici mléka, sušenkách i kondomech.

Pokud ale vyvíjíte webové aplikace, může se dříve nebo později dostavit požadavek vložit čárový kód i do stránky určené k tisku (například faktura). Samotné vygenerování kódu není takový problém, existují k tomuto účelu desítky různých on-line generátorů i off-line generátorů. Tyto generátory pomocí parametrů v URL vygenerují obrázek, který se klasicky pomocí <img> vloží do stránky.

Samotný problém ale bývá s vložením kódu do stránky tak, aby se zobrazil i na počítači bez internetu (např. při uložení dokumentu na flešku) a aby při tisku nedocházelo k rozostření hran, které jsou způsobeny rozdílem DPI mezi obrazovkou a tiskárnou.

Pokračování textu Čárové kódy na webových stránkách

ID nebo class?

Při kódování HTML (a nejen v něm) se často nesprávně zaměňují atributy ID a CLASS.

Velkou chybou je tyto atributy považovat za podobné, nebo dokonce zaměnitelné. A přesto se tomu tak děje, neboť pro začátečníky je jejich použití (tj. tagování elementů pro stylování v CSS) velmi podobné (#id nebo .class).

Ve skutečnosti mají téměř protichůdné chování. Pokračování textu ID nebo class?