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

Zadní vrátka pro zvířátka
12. října 2024, LinuxDays 2024 (20 minut)

Na velikosti eshopu nezáleží
24. září 2024, GoPay Webinář (20 minut)

Moderní problémy vyžadují moderní řešení
8. října 2023, LinuxDays 2023 (50 minut)

DOM XSS and Trusted Types anglicky
11. května 2023, OWASP Czech Chapter Meeting (60 minut)

Co zajímá Špačka na nových verzích PHP?
6. října 2022, 51. sraz přátel PHP v Praze v CareCloudu (15 minut)

Všechny přednášky


Odpovídám na otázky

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ě

Grading How Companies (In)Securely Store Passwords
1. srpna 2019, All Things Auth Podcast

Všechny rozhovory