package auth import ( "crypto/subtle" "net/http" ) // CSRFFieldName ist der Name des versteckten Formularfelds in den Templates. const CSRFFieldName = "csrf_token" // CSRFHeaderName erlaubt es, das Token bei einem fetch()-Aufruf im Header statt // im Formular zu schicken. const CSRFHeaderName = "X-CSRF-Token" // CSRFToken berechnet das Token zu einer Sitzung. // // # Wogegen schützt das? // // CSRF ("Cross-Site Request Forgery") nutzt aus, dass der Browser Cookies // automatisch mitschickt. Eine fremde Seite kann ein Formular auf unseren Server // abschicken lassen, und für den Server sieht es aus wie eine Aktion des // angemeldeten Nutzers: // //