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

Requêtes MySQL Discussion :

[SGBD] Accès à des données d'une base MySQL distante.


Sujet :

Requêtes MySQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2003
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 9
    Points : 6
    Points
    6
    Par défaut [SGBD] Accès à des données d'une base MySQL distante.
    Bonjour,

    Je travaille actuellement sur un script PHP qui me permettrait de générer automatiquement des signatures de forum. Le forum en question est utilisé par ma guilde de World Of Warcraft (Jeu de role en ligne) et les données à récupérer concernent les profils des personnages des utilisateurs.

    Ces signatures de forums sont issues d'une base de données MySQL située sur un autre site.


    On a donc :
    - un forum FireSoft Board hébergé chez Free
    - un profiler hébergé chez Free


    Il est exclu de changer l'hébergement des 2 sites ou d'héberger les 2 ensemble pour une question de performances : le profiler est trop gourmand et plomberait l'utilisation du forum.


    A priori, il est impossible d'attaquer une base MySQL Free à partir d'un autre site. J'ai donc tenté de créer un script PHP à mettre sur le serveur dont on souhaite récupérer les données et qui permettrait d'executer une requete passée en GET et retournerait le résultat sous forme d'un fichier CVS. Il n'y aurait plus alors qu'à faire un bête "$fileResult = fopen($queryURL, "r");" et à parser le résultat et c'est reglé... mais malheureusement non ^^

    Quand je teste en local, tout fonctionne parfaitement et les données sont bien récupérées. Quand je teste chez free, j'ai le message suivant :


    Warning: dbdistantqueryexecute(http://xxxxxxx) [function.dbdistantqueryexecute]: failed to open stream: Connection timed out in /mnt/104/sdb/f/d/XXXXXXX/autosign_display/autosign_dbDistantConnection.php73

    Warning: dbdistantqueryexecute() [function.include]: Failed opening 'http://xxxxxxxx' for inclusion (include_path='/mnt/104/sdb/f/d/XXXXXXXX/include:.:/usr/php4/lib/php') in /mnt/104/sdb/f/d/
    XXXXXXX/autosign_display/autosign_dbDistantConnection.php73

    Warning: fgets(): supplied argument is not a valid stream resource in /mnt/104/sdb/f/d/
    XXXXXXX/autosign_display/autosign_dbDistantConnection.php105

    L'adresse qu'il dit ne pas parvenir a ouvrir fonctionne parfaitement si on fait un copier/coller dans un browser. Je ne sais pas si c'est une question de timer ou si Free empeche d'ouvrir un fichier distant ou empeche un fichier d'etre ouvert par un site distant.



    Je suis preneur de toute solution même si ca impose de recommencer depuis le début !

    Merci d'avance aux "bonnes âmes" qui liront jusqu'au bout. Je surveillerai ce poste quasiment en temps réel pour d'éventuelles informations supplémentaires
    La garde meurt mais ne se rend pas...
    Et il en va de meme pour moi...

  2. #2
    Débutant
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2004
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 452
    Points : 324
    Points
    324
    Par défaut
    salut Moko

    renseigne toi aupres de free pour savoir si il est possible d'attaquer une BDD
    hebergé sur leurs serveurs à distance.

    je sais que certains hebergeurs ne l'autorise pas , et en ce qui concerne free
    je n'en sais rien


    voila bon courage et bon TAF

  3. #3
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Salut !

    Que fait la fonction dbdistantqueryexecute ?
    Tu as l'air d'essayer d'inclure un .php à traver le protocole HTTP

    sans plus d'infos (notamment le code) on pourra pas t'aider

    PS : ton script est pas super génial niveau sécurité lol
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  4. #4
    Futur Membre du Club
    Inscrit en
    Avril 2003
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    @moulefrite : J'ai pu constaté qu'il était interdit d'executé une requete a partir d'un site distant, d'ou ma recherche d'une autre solution qui m'a amené à tenter de faire un fopen d'un fichier qui execute la requete directement sur le bon server...


    @Swoög : Pour la sécurité, c'est le cadet de mes soucis pour l'instant ^^ Les données en question sont loin d'etre critiques, le serveur que j'utilise n'est pas définitif du tout et de toute facon ces données qui n'interessent personne a part nous sont récuperables sans problème

    Le dbdistantqueryexecute() se contente de générer l'URL qui va bien avec la requête en paramètre pour ouvrir la page sur le server distant avec un $fileResult = fopen($queryURL, "r");

    Petit exemple de queryURL qui marche bien :
    http://maedhros.raid.free.fr/autosign_extractProfiler/autosign_dataExport.php?database=profiler&nbFields=11&query=s%3A422%3A%22SELECT+m.member_id%2C+m.name%2C+m.class%2C+m.level%2C+m.guild_title%2C+c.race%2C+c.sex%2C+p.name+AS+profession%2C+p.purelevel%2C+h.PvPRankRankNumber%2C+h.PvPRankRankName+FROM+%23%23PREFIX%23%23members+m+LEFT+OUTER+JOIN+%23%23PREFIX%23%23char+c+ON+m.member_id+%3D+c.member_id+LEFT+OUTER+JOIN+%23%23PREFIX%23%23skill+p+ON+m.member_id+%3D+p.member_id+AND+p.type+%3D+%27M%E9tiers%27+LEFT+OUTER+JOIN+%23%23PREFIX%23%23honor+h+ON+m.member_id+%3D+h.member_id+WHERE+LOWER%28m.name%29+LIKE+%27barbapuce%27%22%3B

    le $fileResult contient le résultat de la requete sous la forme :

    "NbLignesRetournées"
    "ligne1champs1";"ligne1Champs2";....;"ligne1ChampsX"
    "ligne2champs1";"ligne2Champs2";....;"ligne2ChampsX"
    .......................................................................
    "ligneYchamps1";"ligneYChamps2";....;"ligneYChampsX


    C'est ce $fileResult qui est ensuite parsé pour générer l'affichage final qui ressemble en gros à ca :

    La garde meurt mais ne se rend pas...
    Et il en va de meme pour moi...

  5. #5
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Vérifie que les url_wrappers sont bien activés chez free...
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  6. #6
    Futur Membre du Club
    Inscrit en
    Avril 2003
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Je ne sais pas ou je vais trouver cette information mais j'y vais de ce pas
    La garde meurt mais ne se rend pas...
    Et il en va de meme pour moi...

  7. #7
    Futur Membre du Club
    Inscrit en
    Avril 2003
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Je n'ai pas trouvé cette option/fonction dans le descriptif de l'offre PHP de Free.

    J'ai posé la question à free mais je pense que je risque de ne pas avoir ma réponse avant un moment ^^

    Affaire à suivre mais je suis toujours à l'écoute
    La garde meurt mais ne se rend pas...
    Et il en va de meme pour moi...

Discussions similaires

  1. exportation des données a partir d'une base
    Par khaled81 dans le forum C#
    Réponses: 1
    Dernier message: 18/03/2010, 17h52
  2. Réponses: 0
    Dernier message: 23/07/2009, 09h37
  3. Réponses: 3
    Dernier message: 31/01/2009, 17h14
  4. Sauvegarde des données d'un formulaire en base (mysql)
    Par Paulinho dans le forum Langage
    Réponses: 9
    Dernier message: 01/05/2008, 12h40
  5. [MySQL] insérer des donnée d'un fichier dans base mysql
    Par monsieur77 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/01/2008, 15h20

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