Přeskočit na hlavní obsah

Jak zabránit chybějící autorizaci

Jak zajistit, že už nikdy nezapomemete na ověření autorizace nebo autentizace? Jak se dá chybějcící autorizace a autentizace zneužít? Odpovědi na tyto otázky se dozvíte v tomto článku.

V aplikaci většinou máme funkcionalitu, která hlásí stav dané aplikace a jednotlivých služeb. Může jít například o health check, ale v tomto případě jde o ping funkci.

Ukázka requestu ping funkce

Tato funkcionalita by měla být vhodně zabezpečena. Nejlépe formou autentizace a autorizace. Je důležité se zamyslet nad tím, kdo by měl mít přístup k takto citlivé funkci. Každý anonym? Administrátor? K zabezpečení můžeme použít middleware check_admin:

Kód middlewaru check_admin

Tento middleware potom jednoduše připojíme k naší ping funkci, aby se při každém volání kontrolovala oprávnění.

Kód funkce ping a použití check_admin middlewaru

Teď už by tato funkcionalita měla být dostupná jen pro administrátora.

Vzhledem k tomu, že většina aplikací má autorizační podmínky rozesety napříč celou aplikací, tak se stává, že vývojář zapomene danou funkcionalitu vhodně zabezpečit. Doporučuju tedy použít právě middlewary, kde je snadné ověřit, jestli má funkcionalita povolenou autentizaci nebo autorizaci.

Podívejte se na video, kde tuto funkcionalitu hackuju a rovnou v kódu opravuju:

Dej odběr a žádné další video už ti neunikne. 👇