IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

2 sites bdd distinctes


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2012
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 199
    Points : 71
    Points
    71
    Par défaut 2 sites bdd distinctes
    Bonjour,

    Je ne vois pas comment résoudre mon problème. J'ai créer un site internet (site B) qui doit être rattaché à un autre site (site A). Le site A nécessite d'être connecté pour y avoir accès, et le site B est en quelque sorte une partie du site A. Donc mon site doit être sécurisé et seul les users connectés au site A auront accès à mon site. Le problème c'est que ces 2 sites ont 2 bdd bien distinctes. Avez-vous une idée ?

    Je précise qu'on m'a demandé de faire un site sans tenir compte du site A sauf que maintenant on me demande ce rattachement bref ..

    Merci bon weekend.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il faudrait nous préciser l'infrastructure derrière tout ça.
    Tu parles de serveurs de base de données différents ? deux bases sur le même serveur ? deux serveurs web ? etc.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2012
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 199
    Points : 71
    Points
    71
    Par défaut
    Les 2 bases ne sont pas sur le même serveur. Et les 2 sites sur un serveur web différent.

    Il faudrait peut-être que j'importe login + mdp du site A vers la bdd du site B ? par un import chaque jour.

  4. #4
    Membre émérite
    Avatar de Nothus
    Homme Profil pro
    aucun
    Inscrit en
    Juillet 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : aucun
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 200
    Points : 2 575
    Points
    2 575
    Billets dans le blog
    27
    Par défaut
    Tout dépend de ce que te permet la configuration de chaque serveur (autorise t-il des connexions pour MySQL à distance ?).

    Sinon, la configuration change : "localhost" serait, par exemple, remplacé par un domaine ou une IP (fixe évidemment), en faisant gaffe que le port est autorisé par le firewall.
    "En dehors des langages de la famille LISP et du modèle RDF, point de salut."

  5. #5
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 727
    Points
    1 727
    Par défaut
    Hello

    Est ce qu'on peut créer un compte ou modifier son compte sur B ?
    Si non, effectivement tu peux faire un export quotidien de A vers B, mais faut voir si ce délai n'est pas genant.
    Sinon faudrait créer un webservice sur B pour créer/màj les utilisateurs et appeler ce service quand y a création/maj d'utilisateurs sur A

  6. #6
    Membre émérite
    Avatar de Nothus
    Homme Profil pro
    aucun
    Inscrit en
    Juillet 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : aucun
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 200
    Points : 2 575
    Points
    2 575
    Billets dans le blog
    27
    Par défaut
    Après il a une possibilité que je ne te conseille pas, mais qui est possible :

    Etape 1 : tu te connectes à A pour authentifier. Quand c'est fait, A génère deux LONGUES clés aléatoires, et les soumet par simple requête POST au serveur B. A donne une de ses clés à ton client.

    Etape 2 : B récupère les clés et les stockent. Il accueille tout le monde sans savoir qui sait.

    Etape 3 : ton client est redirigé vers B, puis entre sa clé. Si la clé est trouvée dans la base de B, alors le client est acceptée avec la seconde clé en tant qu'ID. Il suffit alors, pour les interconnexions entre A et B, de gérer cette seconde clé, qui est en réalité un ID unique de session entre serveur.

    => Ton client a une clé, et ne peut pas accéder à autre chose que ce lui propose B, et B sait communiquer avec A (et inversement) et eux seuls.

    (vos opinions sont les bienvenues sur cette proposition )
    "En dehors des langages de la famille LISP et du modèle RDF, point de salut."

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Février 2012
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 199
    Points : 71
    Points
    71
    Par défaut
    Merci pour vos réponses. Le site B ne permet pas de créer, modifier un user. C'est en quelque sorte juste de l'affichage de données.

    J'ai avancé depuis que j'ai posté, en fait j'ai fait comme ça :

    1) un import toutes les nuits des données utilisateurs du site A vers une table du site B (je récup nom prénom mail crypté et mdp crypté)

    2) sur le site A il y a un lien vers le site B : du style index.php&token_mail=mailcrypte&token_mdp=mdpcrypte

    3) ensuite sur le site B sur chaque page je vérifie si le couple mail + mdp est bien présent dans la bdd du site B : si oui accès ok si non accès refusé

    Je ne sais pas si c'est la meilleure solution mais au moins j'ai avancé

    A vous de me dire si c'est une bonne méthode ..

  8. #8
    Membre émérite
    Avatar de Nothus
    Homme Profil pro
    aucun
    Inscrit en
    Juillet 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : aucun
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 200
    Points : 2 575
    Points
    2 575
    Billets dans le blog
    27
    Par défaut
    (avocat du diable = oui)

    Mais alors je peux, si je récupère le token sur le réseau, me faire passer pour un de tes utilisateurs ? Le cryptage fait changer le token à chaque connexion ? chaque jour ? en fonction de quoi ?

    Il me semble qu'il y a un pb de sécurité. Car si en plus je décode ton token, je peux retrouver le mail / mdp ?

    (avocat du diable = non)
    "En dehors des langages de la famille LISP et du modèle RDF, point de salut."

  9. #9
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 727
    Points
    1 727
    Par défaut
    C'est clair que garder dans l'url sur chaque page ce qui permet de s'identifier c'est pas du tout secure

    Il n'y a pas de systeme de connexion et de session sur B ? Imaginons qu'il y en a un, il faudrait avoir une url de login automatique faisant le même traitement qu'au login (gestion de la session, positionnement de cookie) et qui redirige juste après sur une page où il n'y a plus les paramètres de login automatique.
    Ensuite pour la gestion de ce login automatique, il y a plusieurs solutions, tu parles de passer le couple mail/mdp crypté, c'est clair que y a mieux, mais bon au moins ne pas trimbaler mail/mdp sur chaque page.
    Pour la solution faut voir le degré de sécurité qu'on veut, un moyen simple est de passer l'identifiant du compte et un hash d'une chaine contenant du texte fixe + l'identifiant du compte (+ d'autres infos éventuellement connues de A et B, identiques des 2 coté)

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Février 2012
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 199
    Points : 71
    Points
    71
    Par défaut
    Donc je dois oublier ma solution ..

    Il n'y a pas de système de connexion et de session sur B. Comment je peux envoyer mail + mdp d'un site à l'autre sans passer par l'url ?

  11. #11
    Membre expérimenté Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 058
    Points : 1 532
    Points
    1 532
    Par défaut même domaine
    Bonjour,

    Si tes deux sites sont sur le même domaine ...
    tu as cette solution

    http://www.wandi.fr/Lab/Article/Item...session-12.sls

    ou avec memcached re repcached http://www.howtoforge.com/how-to-ins...n-ubuntu-11.04

    dans tous les cas faudra toucher à la config serveur et donc tester et valider .

    sinon dans ton cas, il faut plutôt voir à un mode SSO avec un LDAP derrière, cela permet de gérer l'authentification
    de façon secure et externalisé.

    Olivier
    Architecte destructurant,
    be cool, be free

    Il nous reste Debian bien sûr

  12. #12
    Membre émérite
    Avatar de Nothus
    Homme Profil pro
    aucun
    Inscrit en
    Juillet 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : aucun
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 200
    Points : 2 575
    Points
    2 575
    Billets dans le blog
    27
    Par défaut
    Citation Envoyé par nolookpass8 Voir le message
    Les 2 bases ne sont pas sur le même serveur. Et les 2 sites sur un serveur web différent.
    "En dehors des langages de la famille LISP et du modèle RDF, point de salut."

Discussions similaires

  1. [MySQL-5.0] Synchro bidirectionelle 2 bdd distinct
    Par nma dans le forum Administration
    Réponses: 4
    Dernier message: 27/09/2013, 09h13
  2. Requête ADO vers deux bdd distinctes (requête ado cross db)
    Par Soni03 dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 26/09/2013, 06h39
  3. Application multi-site, BDD partagée ! Help
    Par manuaarts dans le forum Réseau/Web
    Réponses: 5
    Dernier message: 10/03/2013, 14h22
  4. Réponses: 2
    Dernier message: 22/11/2005, 22h09
  5. Quelle BDD pour un gros site commercial?
    Par j_dron dans le forum Décisions SGBD
    Réponses: 13
    Dernier message: 27/10/2005, 19h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo