Symfony nie dokleja kodu zabezpieczającego do wszystkich linków które przewijają się przez framework bo i po co. Chodzi o zabezpieczenie krytycznych operacji jak np. kasowanie artykułów.
Załóżmy, że atakujący stronę wyśle obrazek którego url będzie wskazywał na artykuly/delete/4. Jeśli stronę z spreparowanym obrazkiem będą przeglądać normalni użytkownicy bez odpowiednich uprawnień to nic się nie stanie. Jeśli natomiast na stronę gdzie znajduje się taki obrazek wejdzie administrator to w takim przypadku przeglądarka będzie starała się go załadować wczytując podany w src adres. A jako, że stronę będzie odczytywać użytkownik z uprawnieniami administratora to nastąpi wykonanie akcji kasowania artykułu o numerze id 4.
Obrona przez CSRF polega na tym, że na stronie poprzedzającą krytyczną operację (np. w liście artykułów) generuje się odpowiedni kod zabezpieczający zapisywany do sesji/ciasteczka. Przy wybraniu operacji usunięcia taki kod jest doklejany do urla i walidowany przy próbie kasowania obrazka. Jeśli adres do usunięcia artykułu zostanie wywołany bezpośrednio bez podania odpowiedniego kodu to zostanie wyrzucony błąd zabezpieczeń.
Możliwe, że zainteresuje Ciebie
wątek na forum google.