janek9
15.12.2009, 23:20:35
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
16.12.2009, 13:22:40
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
23.12.2009, 12:17:14
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.