Warning
This page is located in archive. Go to the latest version of this course pages. Go the latest version of this page.

Autentizace a autorizace

Úvod

  • Jaký je rozdíl mezi autentizací a autorizací?
  • Jak ověřit identitu uživatele (jméno a heslo) a jak tyto informace ukládat?
  • Jak si přihlášení zapamatovat napříč více HTTP požadavky?

Přihlášení

  • Vytvořte stránku s přihlašovacím formulářem (uživatelské jméno a heslo).
  • Zajistěte, aby heslo zadávané ve formuláři nebylo vidět na obrazovce.
  • Prodiskutujte tyto teoretické mechanismy ukládání hesel a uvažte jejich (ne)dostatky:
    • Plaintext
    • Šifrované
    • Hashované (MD5, SHA-1)
    • Solené (password_hash)
  • Naimplementujte mechanismus ověření jména a hesla pomocí PHP funkcí password_hash a password_verify
  • Uvažte, jaké možnosti má nyní útočník

Udržení přihlášení

  • Uvažte, kam a jak lze informaci o úspěšné autentizaci uložit
  • Naimplementujte mechanismus ukládání do PHP session
  • Uvažte, jaké možnosti má nyní útočník

CSRF

  • Připomeňte si, která použitá technika umožňuje útok CSRF
  • Vyzkoušejte si provést útok CSRF na vlastní aplikaci (nejprve GET, poté POST)
  • Upravte vytvořenou aplikaci tak, aby zabraňovala možným CSRF útokům pomocí jednorázového tokenu
  • Prodiskutujte další varianty ochrany proti CSRF

Materiály

courses/b6b39zwa/tutorials/12/start.txt · Last modified: 2021/09/13 10:05 by zaraondr