Vyvíjím webové aplikace, zajímá mě jejich bezpečnost. Nebojím se o tom mluvit veřejně, hledám hranice tak, že je posouvám. Chci naučit webové vývojáře stavět bezpečnější a výkonnější weby a aplikace. (více o mně, kontakt)

Školím

A takhle to dopadá: Michalovo školení jsem původně domlouval primárně pro svoje kolegy, protože já přece "všechno z osnovy školení znám"... Z omylu mě Michal hned první hodinu prvního dne a pak postupně celé dva dny. Teprve díky tomuto školení jsem některé koncepty útoků/obran pochopil v plné šíři, hloubce a hlavně správném kontextu. — Jan Pospíšil, Senior PHP developer, Český rozhlas

Veřejná školení

Zvu vás na následující školení, která pořádám a vedu:

    Školení v Praze (příp. online) probíhají pravidelně jednou za čtvrt roku, vždy v polovině března, června, září a prosince, v jiných městech nepravidelně.

    Firemní školení

    Jakékoliv veřejné školení mohu uspořádat také u vás ve firmě. Společnostem nabízím navíc i tyto kurzy:

    Hledáte kurzy Úvod do PHP, Třídy a objekty v PHP? Předal jsem je Martinovi Hujerovi. Školení Výkonnost webových aplikací jsem ukončil, podobný kurz nabízí Martin Michálek.


    Píšu články

    Kradení session id pomocí phpinfo() a jak tomu zabránit
    21. dubna 2024 (aktualizováno 14. srpna 2026)

    Krádež session id z výpisu phpinfo() je již nějakou dobu známá technika, která se používá k obcházení atributu HttpOnly, který JavaScriptu zakazuje přístup k takto označené cookie (např. PHPSESSID). Mě akorát až teď napadlo řešení, které dovolí phpinfo() zachovat: ty citlivé údaje prostě zcenzurujeme, čímž phpinfo() pro útočníka ztratí část své hodnoty.

    (celý článek…)

    Co znamená origin, site, eTLD, eTLD+1, public suffix a PSL?
    20. listopadu 2023 (aktualizováno 1. července 2026)

    Říkáme tomu různě: weby, stránky, domény, servery, sajty, internety a spoléháme se na to, že tomu ten druhej bude rozumnět. Možná a možná ne, ale to se dá vždy doladit doplňujícím „počkej, jak jako server, nemyslíš spíš web?“ Jenže různé specifikace a technické dokumenty tuto vymoženost nemohou využít a tak se snaží věci nazývat správnými jmény a jednotně. A to navíc tak skvěle, že pojmy jako origin, site, same origin, same site, eTLD a public suffix se normálně ani nepřekládají, protože pak by tomu zas nikdo nerozuměl. A jak s tím souvisí atraktivita subdomén?

    (celý článek…)

    Přepisování obsahu HTTP odpovědí v Chrome
    5. října 2023

    Prohlížeč Chrome (a další, např. Edge) umožňuje přepisovat obsah i hlavičky HTTP odpovědí. O přepisování HTTP hlaviček pro testovací účely jsem psal již dříve, jak přepsat i samotné tělo odpovědi si ukážeme níže. Od Chrome 117 (vyšel v září 2023) se to navíc značně zjednodušilo.

    (celý článek…)

    Všechny články


    Přednáším

    Oblíbené

    Budu přednášet

    I wake up and there's a new supply chain attack anglicky
    20. listopadu 2026, TechMeetup Ostrava 2026 (45 minut)

    Rád budu přednášet i na vaší akci nebo konferenci, napište mi!

    Přednášel jsem

    Ahoj, potřeboval bych checknout bezpečnost a nasazení chatbota (pomocí AI)
    3. října 2026, LinuxDays 2026 (50 minut)

    Kyberbezpečnost: Webová a aplikační bezpečnost
    28. ledna 2026, SIT Port eventy (120 minut)

    Password Reuse Is a Dumpster Fire – We Brought a Hose anglicky
    2. prosince 2025, PasswordsCon Prague 2025 (45 minut)

    Jak básníci přicházejí o iluze a lidi o účty
    4. října 2025, LinuxDays 2025 (50 minut)

    Pomoz password managerům pomáhat lidem
    1. října 2025, FrontKon#25 (25 minut)

    Všechny přednášky


    Odpovídám na otázky

    S Michalem Špačkem o bezpečnosti pro vývojáře i běžné smrtelníky
    10. října 2024, Podcast ze Vzhůru dolů

    CZ Podcast 319 - O bezpečnosti, nových vlastnostech prohlížečů i Shoptetu
    6. května 2024, CZ Podcast

    Michal Špaček: Před připojováním na veřejné Wi-Fi sítě už nevaruju
    5. září 2022, Lupa.cz

    O temné straně UX designu
    1. března 2022, BlueGhost Update

    Bezpečnost na internetu
    2. února 2021, Jak na sítě

    Všechny rozhovory