Die Yesod book sagtWarum kann der Jessod Session Cookie nicht gehackt werden?
Die Verschlüsselung der Benutzer von der Überprüfung der Daten verhindert, und die Signatur stellt sicher, dass die Sitzung weder missbraucht werden können, noch manipuliert.
Es ist mir nicht klar, warum das der Fall ist. Wenn ein Lauscher den Cookie, der vom Server gesendet wird, in Besitz nimmt und ihn benutzt, bevor der legitime Benutzer eine andere Anfrage macht, wird die Sitzung nicht entführt?
Es scheint mir, dass die einzige Möglichkeit, Session-Hijacking wirklich zu verhindern, die Verwendung von SSL ist. Aber wenn ich das tue, dann ist das Signieren und Verschlüsseln, das von Yesod erledigt wird, überflüssiger Overhead (EDIT: Overhead, soweit es das Entführen verhindert. Wie @sr_ in den Kommentaren hervorhebt, ist es ansonsten immer noch nützlich).
Die Bedrohung, die hier gemildert wird, ist _der Benutzer, der den Cookie ändert (ohne dass der Server dies merkt) _, ein allgemeines Problem, das auftritt, wenn dem Client zu viel vertraut wird (durch Speichern von Daten in Cookies). Von [hackage] (http://hackage.haskell.org/package/clientsession-0.9.1/docs/Web-ClientSession.html): "Neben dem Erkennen möglicher Fehler bei der Speicherung oder Übertragung der Cookies (Integrität), der MAC verhindert auch böswillige Änderungen der Cookie-Daten, indem sichergestellt wird, dass die Cookie-Daten tatsächlich von diesem Server generiert wurden (Authentizität). " –
@sr_ Einverstanden. Was ich beanstande, ist mit der Behauptung des Buches, dass der Cookie nicht entführt werden kann. Wenn ich beispielsweise die Authentifizierung auf meiner Site verwende, aber kein SSL auf allen meinen Seiten verwende, scheint es mir, dass ein Angreifer mich unter den richtigen Umständen für die Site ausgeben kann. –