6

Ich verwende derzeit RESTful Authentication Plug-in auf meiner Rails-Anwendung.Rails - Catch 'Ungültige Authenticity Token' Ausnahme

Es gibt ein typisches Szenario, wenn ein Benutzer genug Zeit auf dem Anmeldebildschirm verweilt (sagen wir 1 Tag), der das Authentifizierungstoken wegen Ablauf der Zeit ungültig macht.

Wenn dieser Benutzer am nächsten Tag versucht, sich anzumelden (er hat nicht aktualisiert, er ist immer noch mit diesem ungültigen Token), wird er einen "500" HTTP-Fehler erhalten. Die Anwendung für diese Anforderung abstürzen.

Ich frage mich, ob es möglich ist, diese Erwartung zu erfassen und den Benutzer zu warnen. Wie jede andere unschuldige Webnutzer er gerade wieder tut zurück und versucht, .. und wieder bekommt den gleichen Fehler ...

Antwort

11

In Ihrem application_controller.rb werden Sie so etwas wie:

rescue_from Your::Exception, :with => :show_some_error_page 

Dies lässt Sie zeigen eine Aktion, in diesem Fall show_some_error_page, wenn eine nicht behandelte Ausnahme auftritt.

Ich hoffe, das hilft.

-2

Wenn dies geschieht oft für eine bestimmte Controller-Aktion, könnten Sie auch Authentizität deaktivieren Token vollständig für diese Aktion Überprüfung ...

skip_before_filter :verify_authenticity_token, :only => [:create] 
+7

Wäre das nicht extrem unsicher sein? In meinen Protokollen häufen sich Hackeranmeldungen, um diese Ausnahmen zu erstellen. – allesklar