Cross-Site-Anfrage Fälschungsprävention mit Struts-Token
Möchte ich umsetzen, Cross-site request forgery prevention für meine web-Anwendung, die auf Basis von struts 1.x-framework.
Ich weiß, dass struts 2 framework bieten token interceptor und ich kann ähnliche Funktionen implementieren, die Verwendung von filtern.
Bin ich etwas verwechseln, über das paar denkt
1 ) wie kann ich das generieren eindeutiger token mit unkomplizierten Weg ? (kann ich die Aktion Klasse token für diesen Zweck ist die Verwendung zur Vermeidung von doppelten form submission)
Gibt es irgendwelche Problem bei der Verwendung von struts 1.x-Rahmen-token-Mechanismus für CSRF Prevention
InformationsquelleAutor der Frage Niraj Sonawane | 2010-11-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Streben 1 Action token Methoden arbeiten wie die Streben 2 token interceptor in, es wird ein token, um Ihre Sitzung und überprüfen Sie es auf die form der Unterwerfung, aber es ist eine viel manueller Prozess. Der grundlegende workflow ist:
saveToken(request)
vor der Weiterleitung auf die JSP-Datei, die das Formular enthält.<html:form>
tag.isTokenValid(request, true)
und Sie sollte eine Weiterleitung zurück auf die erste Aktion mit einer Fehlermeldung, wenn es zurückfalse
. Dies setzt auch den token für die nächste Anfrage.Dadurch wird nicht nur verhindern, dass doppelte form-Veröffentlichungen, aber alle müssen Sie das Skript Treffer die erste Struts-Aktion und erhalten Sie eine Sitzung, bevor Sie es Einreichen können, um die zweite Struts-Aktion, das Formular zu senden. Da eine Website können nicht von einer Sitzung zur anderen Seite, dies soll verhindern, dass CSRF.
Wenn Sie in der Regel der Nutzer direkt auf Ihre JSP, nicht. Erstellen Sie stattdessen eine neue Klasse erbt von
ActionForward
- und eingestellt, wie es dieexecute()
Methode:InformationsquelleAutor der Antwort Joseph Erickson