[RESOLU] Différencier les sites pour les logins

Avatar du membre
Eléphant du PHP | 224 Messages

21 juil. 2018, 15:45

Hellooooo ! :)

Pas facile de trouver un titre explicite mais voilà, j'explique mon problème :

Admettons sur mon serveur j'ai 2 répertoires pour faire 2 sites en réseau local.
On y accède par http://serveur_local/repertoire1 et http://serveur_local/repertoire2
Idem, j’accède au phpmyadmin via http://serveur_local/phpmyadmin .

Sur les 2 sites j'utilise un système de login/pwd . Les logins sont différents d'un site à l'autre, et aussi différents de phpmyadmin .

Le problème c'est que, aimant bien les logins enregistrés et proposés par le navigateur (oui je sais, pas bien, mais c’est pas la question :P ), le navigateur propose les logins des 3 sites (les 2 répertoires te phpmyadmin) , ce qui fait que par exemple, si je me connecte au phpmyadmin, il va me proposer :
root
loginsite1
loginsite2

Y a-t-il une fonction php ou autre ,permettant de dire au navigateur "je suis le site1 , ne liste que les logins du site1).

Je n'ai malheureusement aucun bout de code à exposer car je ne sais même pas du tout comment on peut appeler ce genre de fonctionnalité, ni même si ca existe :(
Bien sur ,ej en demande pas du travail mâché mais quelques pistes pour que je puisse m'orienter.

Merci et bonnes vacances :)
Un Couin vaut mieux que Deux tu couineras :D
Retrouvez-moi tous les dimanches soir à 22H pour un mix live au vinyle sur eurodance90.fr :mrgreen:

Mammouth du PHP | 2703 Messages

21 juil. 2018, 18:21

s'il n'y a que vous qui devez accéder au site en local, alors il est possible d'accéder aux 3 sites par un "nom de domaine".
par exemple sous windows, dans le fichier localhost
127.0.0.1 site1
127.0.0.1 site2
127.0.0.1 phpmyadmin
et configurer le serveur web pour gérer ces 3 "domaines" afin d'accès ainsi http://site1 http://site2 http://phpmyadmin

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

22 juil. 2018, 23:20

Y a-t-il une fonction php ou autre ,permettant de dire au navigateur "je suis le site1 , ne liste que les logins du site1).
Hélas non car ce n'est pas une fonctionnalité du site mais de ton navigateur sur laquelle ton site n'a pas du tout la main (et c'est normal pour des raisons de séciruité d'ailleurs)

Une demande a été formulée en ce sens sur le bugtracker de Firefox :
https://bugzilla.mozilla.org/show_bug.cgi?id=263387
En résumé la réponse a été qu'ils n'allaient pas le faire car ça casserai le fonctionnement de beaucoup de sites internet.
Par exemple sur PHPfrance les différents forums sont dans des répertoires différents :
- PHP débutant : php-debutant/
- PHP avancé : php-avance/
Du coup si un navigateur enregistrait par répertoire et bien il faudrait enregistrer sont login/passwd sur chaque forum et sous-forum, pas pratique ! :-D

L'autre raison invoquée est également que tous les mécanismes de sécurité (cross-origin, cookies, etc...) se basent sur le protocole (http ou https), le domaine et le port utilisé (80 en général), par conséquent si tu as des sites différents qui partagent un même nom de domaine, c'est un risque de sécurité bien plus large que juste un pb de password.

Je rejoints donc la réponse de or1 pour t'encourager à créer des virtualhosts de la forme http://siteX
Quand tout le reste a échoué, lisez le mode d'emploi...

Avatar du membre
Eléphant du PHP | 224 Messages

22 juil. 2018, 23:44

Helloooo !

Merci pour vos réponses :)
J'avais exposé comme exemple mais simple pour que ce soit compréhensible mais dans certains cas ca doit etre accessible de l’extérieur et par l'ip ou un seul nom de domaine (je n'ai pas la possibilité d'en créer un par "site", donc des virtualhosts ne résoudraient pas systématiquement le problème).
Au moins la réponse est claire , ça m'(éviter de chercher dans le vide lol

A bientôt ! :)
Couin
Un Couin vaut mieux que Deux tu couineras :D
Retrouvez-moi tous les dimanches soir à 22H pour un mix live au vinyle sur eurodance90.fr :mrgreen:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

22 juil. 2018, 23:50

Tu peux acheter un nom de domaine que tu fais pointer sur ton IP publique.
Ensuite tu peux créer des sous-domaines site1.tondomaine.fr site2.tondomaine.fr

Et des virtualhosts dans la config Apache de ton serveur local et ça va fonctionner
Quand tout le reste a échoué, lisez le mode d'emploi...

Avatar du membre
Eléphant du PHP | 224 Messages

29 juil. 2018, 01:16

Hello,

Merci pour l'astuce.

Ceci dit, dans le cas d'un serveur d'hébergeur, notaient du mutualisé, je pense que je pourrais pas faire cela.

A bientot :)
Un Couin vaut mieux que Deux tu couineras :D
Retrouvez-moi tous les dimanches soir à 22H pour un mix live au vinyle sur eurodance90.fr :mrgreen:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

05 août 2018, 23:16

Bien sûr que si, c'est comme ça que fonctionne tous les hébergeurs mutualisés justement.
Après est-ce que ton hébergeur te le permet et à quel coût surtout il faut voir avec lui
Quand tout le reste a échoué, lisez le mode d'emploi...