Š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
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.
Ří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?
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.
Přednáším
Oblíbené
- HTTP hlavičky, Subresource Integrity a spol. chrání vaše návštěvníky před bezpečnostními chybami
- XSS PHP CSP ETC OMG WTF BBQ, o Cross-Site Scriptingu a Content Security Policy
- Hlava není na hesla, použijte na ně raději password manager
- HTTPS, co, proč, jak, zač, nač, kdy, kde, s kým a proti komu
- Webová bezpečnost, popis několika základních útoků i méně známých triků
- Jak jsme zlepšili zabezpečení Slevomatu a jak byste měli udělat to samé
- Zahashovat heslo, uložit, …, profit!, o správném hashování hesel
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)
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ě
