Hallo,
Du meinst also ich sollte an jeden Link und in jedes Formular einen Token hängen, das Token in der Session speichern und bei jedem Request das Token des Links mit dem in der Session vergleichen?
Nicht bei jedem Link, sondern bei jedem authentifizierten Request mit serverseitigen Nebeneneffekten.
Genauer gesagt Anfragen auf URLs, die einen angemeldeten Nutzer und ggf. bestimmte Nutzerrechte erfordern sowie auf dem Server etwas ändern. Das sind üblicherweise Formulare zum Anlegen, Editieren oder Löschen von Datensätzen.
Das bloße Anzeigen von Daten (z.B. GET /products/123) erfordert keinen Token, auch nicht das Durchsuchen von Datensätzen (z.B. GET /search?q=schrauben). Das Schreiben eines Datensatzes über ein Formular hingegen bedarf eines Tokens. Ansonsten könnte dieses Formular von einer fremden Website abgesendet werden und der reine Besuch der Websites des Angreifers könnte bei dir Datensätze erzeugen, editieren oder löschen.
Bitte macht dich einmal im Web schlau, was CSRF genau bedeutet.
Grüße,
Mathias