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 :

[Conception] Envoi dans la base de données du site B depuis une iframe du site A


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Par défaut [Conception] Envoi dans la base de données du site B depuis une iframe du site A
    Bonjour,

    J'avais demandé il y a quelque temps comment faire en sorte lorsqu'un visiteur s'inscrit sur le site A, qu'il le soit aussi sur le site B.
    Il semble que le plus simple soit une iframe permettant d'insérer dans la page du site A, la page du site B chargée d'insérer les données dans sa base.
    Ce pendant que la page A insère de son coté les données dans sa propre base, comme il se doit.

    Mais voilà, je ne vois pas comment faire...
    - Le visiteur valide le formulaire d'inscription sur le site A
    - Il arrive sur une nouvelle page qui insère les données dans la base de A. Tout est classique jusque là.
    - Dans cette page, il y a une iframe qui fait apparaitre la page du site B chargée d'insérer les données dans sa base (donc B). Cela le visiteur ne le voit pas, l'iframe est invisible.
    - Un message de confirmation dit que le membre peut désormais utiliser ses informations sur A et B.

    Donc, comment faire passer les informations du formulaire du site A dans la page B qui se trouve dans l'iframe ?

  2. #2
    Membre Expert
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Par défaut
    Et pourquoi ne pas faire une requete post vers le site B après avoir inséré l'utilisateur dans le site A ?

    cf fsockopen ect. Il y à deja eu quelques sujets à ce propos sur le forum.

    Sinon si tu veux passer par une firame. Il faut que lorsque tu affiches le résultat de l'enregistrement dans le serveur A, tu pointes le src de ta iframe vers une page du serveur A.
    Cette page vas générer un formulaire, dont l'attribut action pointe vers un controleur (une page php) du serveur B (controleur qui vas recevoir les données en post et les enregister dans la bdd du serveur B).
    Dans la page du serveur pointé par l'iframe, il faudra faire une auto validation du formulaire en JS lors de l'evenement onload.

    voila

    bbye

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Par défaut
    Citation Envoyé par ePoX
    Et pourquoi ne pas faire une requete post vers le site B après avoir inséré l'utilisateur dans le site A ?

    cf fsockopen ect. Il y à deja eu quelques sujets à ce propos sur le forum.

    Sinon si tu veux passer par une firame. Il faut que lorsque tu affiches le résultat de l'enregistrement dans le serveur A, tu pointes le src de ta iframe vers une page du serveur A.
    Cette page vas générer un formulaire, dont l'attribut action pointe vers un controleur (une page php) du serveur B (controleur qui vas recevoir les données en post et les enregister dans la bdd du serveur B).
    Dans la page du serveur pointé par l'iframe, il faudra faire une auto validation du formulaire en JS lors de l'evenement onload.

    voila

    bbye
    fsokopen m'a l'air bien, je vais approfondir ça, je ne pensais pas que c'était si compliqué, merci.

  4. #4
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    pourquoi A ne communiquerait-il pas directement avec B ?

    Client <===> A <===> B

    Du coup pas besoin de ces horribles iframes

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Par défaut
    Citation Envoyé par Mr N.
    pourquoi A ne communiquerait-il pas directement avec B ?

    Client <===> A <===> B

    Du coup pas besoin de ces horribles iframes
    Elles sont pas horribles les iframes, personnes ne les voit à priori. Ou alors horrible coté code peut être.

    Pour Client <===> A <===> B, je ne voudrais pas ouvrir une fenêtre de B lorsque le client valide son formulaire sur A.
    Ce qui me souci dans tout ça c'est faire transiter des informations entre deux sites.
    Il est hors de question de faire transiter les codes de la bases de données, cela va sans dire, mais rien que les informations du client, ça m'ennuit.
    Rq je code le passe en md5() à l'arrivé et pas pendant le transfert, mais bon, reste le mail quand même.

  6. #6
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Citation Envoyé par psychoBob
    Ou alors horrible coté code peut être.
    Oui c'est dans ce sens que je l'entendais

    Citation Envoyé par psychoBob
    Pour Client <===> A <===> B, je ne voudrais pas ouvrir une fenêtre de B lorsque le client valide son formulaire sur A.
    Où est ce que tu vois un lien entre B et le client ???
    1. le client poste son formulaire sur A.
    2. A fais des trucs
    3. A demande à B de faire des trucs
    4. B fais des trucs
    4. B renvoie une réponse (à A)
    5. A fais des trucs
    6. A renvoie une réponse (au client)

    => le client ne sait pas que B existe... pas d'iframe cachée ou autres siouxeries...

    Citation Envoyé par psychoBob
    Ce qui me souci dans tout ça c'est faire transiter des informations entre deux sites.
    Tu dois mettre le meme niveau de sécurité de communication entre A et B qu'entre client et A

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Par défaut
    Bon quand je passerai à la pratique j'y verrai plus clair, là je m'informe à l'avance le temps que ça se décante.


    psychoBob a écrit :
    Ce qui me souci dans tout ça c'est faire transiter des informations entre deux sites.


    Tu dois mettre le meme niveau de sécurité de communication entre A et B qu'entre client et A

    C'est justement ce qui me parrait impossible. De client vers bd A c'est ok. Mais de client de A vers bd de B, forcément les informations du client transitent sur le réseau (ok j'y connais pas grand chose mais bon). Et là elles peuvent donc être interceptée.
    Ceci dit si seul le pseudo, l'email et le pass transitent, sachant que le pass est codé par la page B avant l'insertion dans la bd B, le pirate qui récupère ça va en faire quoi ?
    Que dalle, il aura un mail, bon, mais le pass qu'il aura aura été encodé par un md5() plus un paquet de sel.
    L'important c'est qu'il n'ai pas les informations de la BD, non ?

    Ou alors il faut une même bd pour les deux sites, du ssl etc... mais là ça me saoule, c'est que pour des forums, c'est pas des boutiques en ligne avec CB etc...
    Et en plus si le pirate veut le code d'une personne en particulier, il va falloir qu'il sniffe pile au moment de l'inscription.

    Vous en pensez quoi ?

  8. #8
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    De client vers bd A c'est ok. Mais de client de A vers bd de B, forcément les informations du client transitent sur le réseau
    Premièrement le client ne communique pas avec une base de données, mais avec un serveur d'application écrit en php. (après à charge de php de faire des requètes dans une bd ou sur un filesystem)
    Deuxièmement quand A communique avec B, il est un client vis à vis de B. C'est exactement comme si le client (le navigateur) attaquait directement B.

    Ton navigateur ne connait pas les informations de connexion à la base de données de A. Donc A ne connait pas les informations de connexion à la base de données de B...

    Et même, pour peu que A et B soit chez le même hébergeur, j'aurais tendance à dire que tu as plus de chance d'être intercepté entre Client et A que entre A et B...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Conception] connexion de deux bases de données dans une page en php
    Par leclone dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 13/04/2007, 14h59
  2. [Conception] stockage emails en base de données - protection envoi
    Par mussara dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/01/2007, 13h21
  3. [Conception] connexion entre 2 bases de données dans 2 noms de domaines
    Par kagura dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 23/03/2006, 12h53
  4. Taille des vues dans la base de donnée
    Par Andry dans le forum Débuter
    Réponses: 5
    Dernier message: 21/01/2005, 21h06
  5. Probleme d'insertion dans la base de données
    Par PrinceMaster77 dans le forum ASP
    Réponses: 5
    Dernier message: 11/06/2004, 16h21

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