Frage von Tillox, 31

Was ist eigentlich sicherer?

Kann ein ausserstehender Daten lesen wenn ich sie mit GET an den Server übertrage ? Ich meine es wird ja nicht wie bei Post über den Header gesendet. Und sind diese dann sicher übertragen wurden und welches von beiden übertragungsvefahren ist sicherer ?

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von TeeTier, 6

Vereinfacht ausgedrückt, sendet dein Browser einen GET-Request so hier ab:

GET /index.html?user=foo&pass=bar HTTP/1.1
Host: www.domain.com
Accept: */*

Ein POST-Request sieht so aus:

POST /index.html HTTP/1.1
Host: www.domain.com
Accept: */*
Content-Length: 17
Content-Type: application/x-www-form-urlencoded

user=foo&pass=bar

Wie du leicht sehen kannst, kann man BEIDE Methoden sehr leicht mitschneiden und die Logindaten extrahieren, falls die Verbindung nicht über TLS gesichert ist.

Von daher: Immer schön auf "Hah Tee Tee Peh Ess" achten, wobei die Betonung auf "Ess"! ;)

Fazit: Im Punkto Sicherheit nehmen sich beide nichts. Die einzige Ausnahme wäre, dass man einer Kopierten URL nicht sofort die Logindaten ansieht.

Nimm GET immer für Dinge, die du öffentlich haben willst. Zum Beispiel Schlagwörter bei einer Suchfunktion. Für private Daten am Besten immer POST einsetzen! :)

Ich kann dir also einen Link zu einer Suche nach einem Thema auf Amazon schicken, weil das Formular per GET abgeschickt wird:

https://www.amazon.de/s/ref=nb\_sb\_noss/256-3392643-2957449?\_\_mk\_de\_DE=%C3%...

Mit POST ginge das nicht! ;)

Antwort
von tDoni, 11

Naja, sicher ist beides nicht. Die Parameter werden im Klartext gesendet. Wenn dann musst du die ganze Verbindung verschlüsseln --> https

POST finde ich meist besser, da die Parameter nicht direkt in der URL zu sehen sind. Neugirige Besuchern können sie dann nicht ganz so einfach austauschen oder verändern.

Wirklicher Schutz ist das natürlich nicht!

Bei Suchen wie example.com?search=blah sollte der Suchbegriff in der URL bleiben. Eben damit man auch eine solche URL weitergeben kann.

Gerade Login-Daten haben aber in einer URL nichts zu suchen.

Kommentar von Tillox ,

okay das war mir bewusst nur wusste ich nicht ob ein aussenstehender die url sehen kann wenn Verschlusst → übertragen wurde

Antwort
von dannyotti, 10

Die Sicherheit in GET und POST liegt nur darin, wenn einer sich einloggt, kann ein anderer, der auf den Bildschirm schaut, nicht das Passwort in der URL sehen:)

Grundsätzlich ist eine HTTPS verschlüsslung sinnvoll. Diese garantiert mehr oder weniger, dass keiner dazwischen steht und einen Man-in-the-Middle angriff durchführt. Natürlich ist das auch nur bis zu einem gewissen grad sicher. Man sollte daher orginal-certifikate verwenden (kostenlos: let's encrypt) und nicht eines selber erstellen.

Wenn sich der User mit seinem Browser nicht all zu dämlich anstellt, dann ist https sicher.

Kommentar von Tillox ,

ok

Antwort
von FouLou, 13

Meines wissens nach sind beide verfahren unsicher da es im klartext übertragen wird.

daher -> https nutzen.

Kommentar von Tillox ,

ich benutze als protkoll https statt http :)

Kommentar von FouLou ,

Dann müsste es egal sein.

Antwort
von LeonardM, 12

Beides sogut wie gleich was die übertragungssicherheit angeht

Kommentar von Tillox ,

ok habe ich mir schon gedacht

Antwort
von Malemeister, 2

Hallo,

ergänzend zu den anderen Antworten hier solltest du mal nach dem Unterschied von GET und POST googlen (was man auch eigentlich macht, bevor man so eine Frage hier stellt).

Dort wirst du dann alles weitere finden was du wissen musst. Vorallem auch den großen unterschied bzw. warum es überhaupt beide Methoden gibt.

Grüße

Keine passende Antwort gefunden?

Fragen Sie die Community