Was ist der Grund, csrf in der Spring Boot-Webanwendung zu deaktivieren?

Lesezeit: 2 Minuten

Benutzeravatar von arminvanbuuren
arminvanbuuren

Es gibt viele Tutorials, in denen gezeigt wird, wie man csrf deaktiviert,

csrf().disable()

(und andere Möglichkeiten wie .properties, .ymletc.), aber nirgendwo erklärt, warum sie das tun?

Also meine Fragen sind:

Was ist der wirkliche Grund, es zu deaktivieren?
Verbessert es die Leistung?

  • jemand kann einen anderen Token-Mechanismus verwenden, der nicht csrf ist, um Anforderungen zu authentifizieren, wie z. B. jwt, sodass kein csrf-Token verwendet wird

    – Benjamin C

    17. September 2018 um 8:23 Uhr

  • In einem Tutorial könnte das nur dazu dienen, das Tutorial einfacher zu machen.

    – Raedwald

    17. September 2018 um 8:29 Uhr

  • @benjaminc ok, ich verstehe, aber warum vergisst du nicht einfach csrf().disable()? stören sich jwt und standart csrf irgendwie gegenseitig?

    – arminvanbuuren

    17. September 2018 um 8:29 Uhr


  • @Raedwald, ich denke, vergiss einfach csrf().disable() ist einfacher )))

    – arminvanbuuren

    17. September 2018 um 8:30 Uhr

  • @arminvanbuuren würde Anfragen ausführlicher machen

    – Andreas Tobilko

    17. September 2018 um 8:33 Uhr

Benutzeravatar von Andrew Tobilko
Andreas Tobilko

Was ist der wirkliche Grund, es zu deaktivieren?

Die Spring-Dokumentation schlägt vor:

Unsere Empfehlung ist, den CSRF-Schutz für alle Anfragen zu verwenden, die von einem normalen Benutzer durch einen Browser verarbeitet werden könnten. Wenn Sie nur einen Dienst erstellen, der von Nicht-Browser-Clients verwendet wird, möchten Sie wahrscheinlich den CSRF-Schutz deaktivieren.


Verbessert es die Leistung?

Es sollte die Leistung nicht beeinträchtigen. Ein Filter (oder eine andere Komponente) wird aus der Anforderungsverarbeitungskette entfernt, um die Funktion nicht verfügbar zu machen.

Was ist der Grund für die Deaktivierung csrf in einer Spring Boot-Anwendung?

  1. Sie verwenden einen anderen Token-Mechanismus.
  2. Sie möchten die Interaktionen zwischen einem Client und dem Server vereinfachen.

Benutzeravatar von user7294900
Benutzer7294900

Frühling empfehlen, es beim Servieren zu verwenden Browser-Clientswenn nicht, kann es deaktiviert werden:

Unsere Empfehlung ist, den CSRF-Schutz für alle Anfragen zu verwenden, die von einem normalen Benutzer durch einen Browser verarbeitet werden könnten. Wenn Sie nur einen Dienst erstellen, der von Nicht-Browser-Clients verwendet wird, möchten Sie wahrscheinlich den CSRF-Schutz deaktivieren.

Ich werde das hinzufügen, auch wenn Sie Browser-Clients bedienen, aber es wird intern verwendet, nur Sie möchten/können es entfernen.

  • Die Essenz meiner Frage lautet also: ** warum ** möchte ich dies möglicherweise tun? Was ist der Grund, warum ich so eifrig bin, es zu deaktivieren? Warum kann ich es nicht einfach vergessen?

    – arminvanbuuren

    17. September 2018 um 8:42 Uhr

  • Sie möchten den CSRF-Schutz für interne Websites nicht deaktivieren. Dadurch können Angreifer Firewalls umgehen, da CSRF in Ihrem Browser stattfindet, der sich hinter allen Firewalls befindet. Ich würde empfehlen, durchzulesen docs.spring.io/spring-security/site/docs/5.3.x/reference/html5/…

    – Rob Winde

    25. März 2020 um 13:59 Uhr

Benutzeravatar von vsingh
vsingh

Ja, es ist sicher zu deaktivieren, wenn Sie einen anderen Authentifizierungsmechanismus haben, der nicht getarnt werden kann. Für interne Unternehmensanwendungen kein großes Problem. Wir mussten es deaktivieren, weil es unseren bestehenden Authentifizierungsmechanismus störte.

1449840cookie-checkWas ist der Grund, csrf in der Spring Boot-Webanwendung zu deaktivieren?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy