web-dev-qa-db-fra.com

Passage d'un stockage de mots de passe non-www à www et au navigateur

J'ai créé un site Web doté d'un système d'enregistrement des utilisateurs et invité mon ami à le rejoindre. Je lui ai donné le lien de no-www version: http://mydomain.com mais maintenant, après avoir lu this et this , je veux passer à www.mydomain.com .

Mais il y a un problème. J'ai vu que mon navigateur stockait des mots de passe distincts pour mydomain.com et www.mydomain.com. Donc, dans le navigateur de mon ami, son mot de passe doit avoir été enregistré pour no-www. Cela signifie qu'après que je sois passé à www et que la prochaine fois qu'il ouvre la page de connexion, son navigateur ne renseigne pas automatiquement les champs nom d'utilisateur et mot de passe et il y aura également une entrée supplémentaire (de no-www) dans la base de données de son navigateur des mots de passe stockés.

Cela peut-il être évité? Puis-je faire quelque chose qui indique aux navigateurs que www.mydomain.com et mydomain.com sont le même site Web? J'ai déjà un enregistrement CNAME pour www pointant vers mydomain.com, mais il semble que les moteurs de recherche considèrent CNAME comme un alias, mais les navigateurs les considèrent comme des sites Web différents, je ne sais pas pourquoi.

2
gom

Il s’agit d’une limitation du logiciel de navigation et non de celle de votre site Web. Un navigateur stockera les mots de passe pour une URL de correspondance exacte, ce qui signifie que s’ils visitent le site www, le mot de passe sera alors sauvegardé. même cas pour la plupart des sessions basées sur les cookies.

Application de www

Vous pouvez éviter que ce problème ne se reproduise en appliquant www à l'adresse URL, ce qui signifie que personne ne pourra jamais visiter le site sans www et si cela se produit, il sera redirigé vers l'adresse correcte - ce qui signifie les mots de passe enregistrés et les cookies de session ne seront enregistrés que pour l’URL correcte évitant tout problème.

Il existe de nombreuses façons d'appliquer www et il s'agit d'une solution courante utilisant Apache avec mod_rewrite:

SOURCE: Quels sont les redirections Apache htaccess les plus utilisées et de base

Tout attraper et rediriger les non-www vers www

Vous devriez choisir d'utiliser mod_write pour rediriger toutes les demandes de versions non www de votre site, car la variable $ 1 variera avec les noms de page. Ainsi, example.com/page1/ sera automatiquement redirigé vers www.example.com/page1/.

mod_rewrite:

RewriteEngine On
RewriteCond %{HTTP_Host} !^www\. RewriteRule ^(.*)$
http://www.%{HTTP_Host}/$1 [R=301,L]

Personnes avec des mots de passe enregistrés

Vous constaterez peut-être que vous devez demander à vos visites sur le site d'effacer leurs cookies et formulaires enregistrés dans le navigateur Web qu'ils utilisent en cas de problème supplémentaire.

1
Simon Hayter