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_cookievoorsessie_idstaathttponly=True. - Na een nieuw bezoek laat
document.cookiede 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.dbweggooit en de cookie weghaalt metdelete_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.