Express 5

33. hodina DVOP WBB


Matěj Cajthaml — SSPŠ

©

Opakování

Jak funguje vrstvení aplikace?
Co jsou to Microservices? Jaké mají výhody a nevýhody?
K čemu slouží funkce .reduce na poli?
Co jsou to tzv. template engines?
Co je to CORS? Jak jej řešíme?

Nahrávání

Práce

Zkusme vytvořit aplikaci, ve které půjde nahrávat a zobrazovat soubory.

Další metody v express

Všechno

  • .all
  • zachytí všechny metody
  • k čemu?

Validace parametrů

  • .param(param, middleware)
  • při zachycení parametru dle jména
  • zavolá se middleware
  • právě jednou

Validace parametrů

Zabezpečení

Používat šifrování — TLS / SSL.

Problémy si porty.

Nastavovat sprváné hlavičky — použít helmet.

Používat limitery — zamezit brute-force atakům.

Používat ověřené a nové verze knihoven — npm audit.

Vždy validovat vstup uživatele.

Skryté servery

Na jakém portu obyčejně běží HTTP / HTTPS?

Může bězet na jednom serveru více domén?

Co je to reverse proxy?

Backend většinou běží na nějakém (klidně nezabezpečeném) portu, který je díky firewallu nedostupný z internetu.

Hlavní správce web serveru (nginx, apache2) poté posílá požadavky z domény na určitý port a vrací požadavek.

Správa express backendu

Jak zapneme express backend?

Co když zavřeme terminál?

Co když server spadne?

Správce procesů

  • existuje spousta
  • starají se o to, aby proces vždy běžel
  • když spadne — restartuje se
  • když se server zapne — zapne se

  • docker, pm2, systemd

Ukázka pm2!

Opakování

  • express
  • endpointy
  • parametry
  • middleware
  • CORS
  • vrstvení
  • template engines

Děkuji za pozornost!

  • matej.cajthaml@ssps.cz
  • https://ssps.cajthaml.eu/