Ein echt interessantes Thema, ich verschlinge es gerade. Jedoch drängt sich mir bei deinem Post ein paar fragen auf.
Und zwar habe ich eine Login Tabelle. Jeder User der sich einloggt bekommt einen Eintrag in der Login Tabelle. Es wird ein zufälliger aber eindeutiger Wert erzeugt und sowohl in der Tabelle als auch in der Session gespeichert. Bei jeder Aktion die der Nutzer macht wird geprüft ob er noch angemeldet ist in dem die zwei Werte verglichen werden.
Jetzt nehmen wir mal den Fall der User möchte seinen eigene Daten ändern. Ich benutze aktuell ein Formular mit method=post. Jetzt behaupte ich das Cross-Site-Request-Forgery bei mir nicht zutrifft, da man die Daten nicht mittels Link ändern kann - richtig?
Du schreibst man soll einen Token mitschicken. Was für ein Token ist das? Ist das der Wert, den ich in die Login Tabelle gespeichert habe? Oder soll noch ein wert generiert werden? Wenn ja, müsste ich diesen erneut verwalten - sprich eine neue Tabelle für Formular-Tokens?
Gruß
Sicherheitsexperte
T-Rex