Š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
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)
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)
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
