Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony]CSRF i wygasła sesja
Forum PHP.pl > Forum > PHP > Frameworki
janek9
Witajcie, na początku powiem, że przeglądałem obydwa fora w poszukiwaniu odpowiedzi jednak jej nie znalazłem. Otóż mam następujący problem i nie wiem jak go rozwiązać. Mianowicie: korzystam z GuardPlugin i dostęp do strony jest tylko po zalogowaniu się. Utworzyłem prosty formularz dodawania pozycji do bazy. Kiedy wyczyszczę sesje wyskakuje błąd CSRF: attack detected. To rozumiem ponieważ sesja sie zmieniła lub wygasła. Ale jak można zamiast wyświetlać tego błędu np wróćić na stronę główna albo przeładować stronę ? Powiedzcie jak rozwiązaliście ten problem i czy wogole włączacie CSRF Protection w settings.yml. ?
Crozin
Nie wiem dokładnie gdzie i kiedy jest sprawdzany CSRF, ale najprawdopodobniej jest to w sfForm. Znajdź takie miejsce. Następnie utwórz własną klasę, która dziedziczy po sfForm, nadpisz tam odpowiednią metodę (ewentualnie sprawdź czy nie da się tam podpiąć jakiegoś listenera), która w przypadku niepowodzenia będzie przekierowywać na główną i ewentualnie ustawi użytkownikowi jakąś wiadomość czy coś takiego.
Wojciech Bańcer
Można tak jak napisał poprzednik, albo też można nadpisać odpowiednie metody klasy (np. setTimedOut) obsługującej sesję (myUser i "rodzice"), tak by w przypadku timeoutu robiły jeszcze dodatkowe rzeczy.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.