https://vulert.com/blog/understanding-csrf-tokens-protecting-your-web-applications/