Ga naar hoofdinhoud

Cookies afschermen: in je eigen project

In deze reeks zette je httponly op de sessie-cookie, zag je dat FastAPI samesite="lax" al vanzelf zet, en bouwde je een endpoint om uit te loggen. Doe hetzelfde in je eigen project uit Jouw project.

tip

Werk in je eigen project, niet in de map veiligheid-cookies. Test daarna met je eigen server op 127.0.0.1.

Opdracht​

Opdracht 1: Make - In je eigen project​

Zet in je eigen project httponly=True op de sessie-cookie, en controleer in de Console dat document.cookie hem niet meer laat zien.

Tip

Zoek naar set_cookie. Denk aan de oude cookie: verstuur na de wijziging eerst iets, zodat de server een nieuwe zet.

Antwoord

Loop deze lijst af:

  • Bij elke set_cookie voor sessie_id staat httponly=True.
  • Na een nieuw bezoek laat document.cookie de sessie-cookie niet meer zien, en staat er in het tabblad App een vinkje bij HttpOnly.
  • Er is een endpoint om uit te loggen, dat de sessie in sessies.db weggooit en de cookie weghaalt met delete_cookie.
  • Een cookie die je eigen JavaScript wél moet lezen, zoals een voorkeur voor een donker thema, krijgt geen httponly. Daar hangen ook geen rechten aan.
antwoord.set_cookie(
key="sessie_id",
value=sessie_id,
max_age=60 * 60 * 24 * 30,
httponly=True,
)

Door naar les 6: in de praktijk.