/ / Django nommées URL et HTTPS / SSL - django, https

Django nommé URL et HTTPS / SSL - django, https

Je travaille actuellement sur la sécurisation de mon Djangosite web avec SSL. Je souhaite que certains modèles d’URL ne soient accessibles que via HTTPS. La chose la plus importante à faire est de sécuriser le site de connexion. Il existe ce formulaire dans lequel l’utilisateur entre son identifiant / mot de passe dans un formulaire et le formulaire est POSTé au serveur Dans le modèle de page de connexion, j'ai quelque chose comme

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

et dans mon urls.py l'un des modèles est quelque chose comme

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

Maintenant, j’ai trouvé des ressources suggérant d’utiliser un middleware qui réécrira http à https, par exemple ceci: URL relatives Django et https. Mais la connexion n’est pas possible de cette façon: il ne sert à rien de réécrire le protocole lorsque l’utilisateur a déjà POSTé son mot de passe en texte clair!

Donc, je pense, puis-je en quelque sorte dire {% url %} utiliser https? Je pense à une solution qui utilisera un décorateur pour marquer les vues qui nécessitent un cryptage, puis une balise similaire à {% url %} utilisera cette information et créera un lien avec https si nécessaire.

Ou y a-t-il un autre moyen?

Merci,

Mike

Réponses:

3 pour la réponse № 1

Mais vous ne pouvez pas vous connecter de cette façon - C’est inutile de réécrire le protocole lorsque l’utilisateur a déjà posté son message. mot de passe en texte clair!

Il suffit de servir la page de connexion elle-même via HTTPS. Cela semble être une bonne idée en général.

«Dès le 5 janvier, il était clair qu'un toutla valeur des mots de passe du pays étaient en train de se faire voler en plein milieu du plus grand bouleversement politique en deux des décennies. ”C’est pourquoi vous ne devriez pas servir votre formulaire de connexion sur HTTP même bien que cela soit posté sur HTTPS.

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

En un mot, les FAI tunisiens ont injecté du code JavaScript malveillant dans les pages de connexion de Facebook pour voler les identifiants des utilisateurs.


0 pour la réponse № 2

Peut-être devriez-vous plutôt vous pencher sur les solutions middleware faisant la redirection entre HTTP et HTTPS. Un exemple: http://djangosnippets.org/snippets/85/