/ / Django benannte URLs und HTTPS / SSL - Django, https

Django benannte URLs und HTTPS / SSL - Django, https

Ich arbeite gerade daran, meinen Django zu sichernWebsite mit SSL. Ich möchte, dass auf bestimmte URL-Muster nur über HTTPS zugegriffen werden kann. Das Wichtigste ist, die Anmeldeseite zu sichern. In diesem Formular gibt der Benutzer sein Login / Passwort in ein Formular ein und das Formular wird an den Server gesendet In der Anmeldeseitenvorlage habe ich sowas

<form method="POST" action="{% url login %}">

und in meinem urls.py eines der muster ist so etwas wie

    url(r"^login/$", "mySiteLogin", name="login"),

Jetzt habe ich einige Ressourcen gefunden, die darauf hindeuten, dass ich eine Middleware verwenden sollte, die neu geschrieben wird http zu httpsZum Beispiel dies: Django relative URLs und https. Das Einloggen kann jedoch nicht auf diese Weise erfolgen - es ist sinnlos, das Protokoll neu zu schreiben, wenn der Benutzer sein Passwort bereits im Klartext gepostet hat!

Also ich denke, kann ich das irgendwie sagen {% url %} benutzen https? Ich denke an eine Lösung, die einen Dekorator verwendet, um Ansichten zu markieren, die verschlüsselt werden müssen, und dann einige Tags, die denen ähneln {% url %} wird diese Informationen verwenden und einen Link mit erstellen https wenn benötigt.

Oder gibt es einen anderen Weg?

Vielen Dank,

Mike

Antworten:

3 für die Antwort № 1

Die Anmeldung kann jedoch nicht auf diese Weise erfolgen - Es ist nicht sinnvoll, das Protokoll neu zu schreiben, wenn der Benutzer sein Protokoll bereits veröffentlicht hat Passwort im Klartext!

Bedienen Sie einfach die Anmeldeseite selbst über HTTPS. Dies scheint im Allgemeinen eine gute Idee zu sein.

„Am 5. Januar war klar, dass ein gesamtePasswörter des Landes waren dabei, gestohlen zu werden Mitten in den Größten politischer Umbruch in zwei Teile Jahrzehnte. "- Deshalb sollten Sie nicht servieren Sie Ihr Anmeldeformular sogar über HTTP obwohl es POSTs über HTTPS.

http://simonwillison.net/2011/Jan/24/

Kurz gesagt, ISPs aus Tunesien haben schädlichen JavaScript-Code in die Anmeldeseiten von Facebook eingefügt, um Benutzeranmeldungen zu stehlen.


0 für die Antwort № 2

Vielleicht sollten Sie sich stattdessen Middleware-Lösungen ansehen, die eine Umleitung zwischen HTTP und HTTPS durchführen. Ein Beispiel: http://djangosnippets.org/snippets/85/