Der aktuelle Trend in Web-Anwendungen scheint zu GET-Anforderungen für alles zu verwenden. Insbesondere die Verwendung von RESTful-URLs, die einen Dienst, einen Befehl und seine Parameter beschreiben. Vor einigen Monaten hat Jeff Atwood über die Gefahren von XSS berichtet. Er demonstrierte, wie es sogar zu einer XSS-Sicherheitslücke kommen kann, wenn Nutzern erlaubt wird, etwas scheinbar harmloses wie ein "img" -Tag auf Ihrer Website zu veröffentlichen. Der Grund dafür ist, dass der Browser einfach blind die URL im "src" -Attribut anfordert, was etwas nur Ärger machen könnte, wie das Abmelden des Benutzers, oder etwas viel Bedrohlicheres.Ist die Verhinderung von XSS ein guter Grund, POST über GET für Web-Apps zu bevorzugen?
Als ich vor zehn Jahren mit der Webentwicklung anfing, war die gängige Meinung, POST über GET für Formulare zu bevorzugen und die Anwendung auf der Serverseite aus genau diesem Grund POST zur Formularübermittlung zu erfordern. Browser senden GET-Anfragen die ganze Zeit (wie in dem oben erwähnten "img" -Tag-Beispiel), aber sie senden nur POST-Anfragen unter bestimmten Umständen (insbesondere Formulare mit dem Attribut "method", das auf POST gesetzt ist). Durch die Anforderung von POST scheint es, dass Sie ein großes Segment von XSS-Angriffen eliminieren können. Ist das ein guter Grund, sie zu bevorzugen?
Keine vollständige Antwort, aber mit Post, um einen Zustand auf dem Server zu ändern, wie in Ihren Beispielen und wie vorgesehen _does_ machen sowohl absichtliche und unbeabsichtigte Fehlschritte wie Löschungen oder Kontoänderungen schwieriger.Die unbeabsichtigte Unfallverhütung allein wäre ein gutes Argument, um sich beispielsweise einem höher gestellten zu präsentieren. – Anonymous