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

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

Ří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

…třeba na vaší akci nebo konferenci, napište mi!

Přednášel jsem

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 2024 (50 minut)

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

Co mě zajímá na nových verzích PHP
3. dubna 2025, DEV Čtvrtkon #126 – 30 let PHP speciál (60 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