malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 3 nov. 2007 à 11:55
Hello,
où est le problème ? Tu définis tes paramètres de connexion et basta. Au pire tu instancies 2 objets DB avec chacun leur connexion (ou plus si plus de bdd), au mieux tu utilises un objet db intelligent capable de switcher entre tes bases.
rttb
Messages postés290Date d'inscriptionjeudi 26 août 2004StatutMembreDernière intervention25 avril 2008 3 nov. 2007 à 12:54
Salut,
Salut,
Le problème est que les bases sont sur deux sites différents ; deux noms de domaine différents ; deux serveurs SQL différents ; deux hébergeurs différents...
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 3 nov. 2007 à 13:01
Ben oui...c'est bien ce que je dis ?
Tu dois avoir des paramètres de connexions différents et instancier ou définir tes connexions en fonction du contexte.
kishkaya
Messages postés365Date d'inscriptionsamedi 26 juin 2004StatutMembreDernière intervention17 avril 2008 3 nov. 2007 à 14:56
Bonjour,
Lorsque tu te connectes à une base de donnée, tu crées une ressource. Libre à toi de creer autant de ressource que tu veux. La nature de la base, Oracle, Mysql, SQl serveur, n'a pas d'importance.
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201118 3 nov. 2007 à 15:58
Salut,
Malalam faisait référence à l'utilisation d'une classe d'abstraction d'accès à un SGBD. Il s'agit d'une classe qui permet de gérer l'accès à une base MySQL, PostgreSQL, Oracle, Access, MSSQL, SQL Server, etc.
C'est pour ça qu'il parlait d'instancier : il est dans une logique de Programmation Objet. Dans ce cas de figure, il te faut instancier la classe d'accès au SGBD deux fois : une fois pour chaque serveur.
Concernant la connexion pure, il faut faire attention que la connexion au serveur de base de données soit autorisée depuis un hôte distant. Concrètement, pour une base de données hébergée chez Free, tu ne pourras t'y connecter que depuis ton site perso Free (même login, même mot de passe).
Concernant ta base de données chez OVH, tout dépend de ton hébergement. Je ne connais pas la configuration d'un hébergement mutualisé OVH... Il se peut que tu puisses te connecter à ta base de données à distance, comme il se peut que tu ne puisses le faire que depuis le serveur qui l'héberge (typiquement localhost).
Si tu ne peux pas te connecter à ta base de données depuis un hôte distant, alors c'est mort, tu peux laisser tomber tout de suite.
Pour te connecter, quel que soit le serveur (free ou OVH) tu utiliseras la même fonction : mysql_connect.
La syntaxe est donnée dans la doc php.
Il te suffit de changer les paramètres selon la connexion... Et le nom de serveur itou.
Par exemple, ton sites hébergé chez Free va utiliser ta bdd free et ta bdd OVH.
Tu crées donc deux connexion :
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201118 4 nov. 2007 à 11:58
Salut,
Je ne connais pas la configuration exacte de codes-sources, mais un simple nslookup permet de voir qu'effectivement, les différents sites sont sur le même serveur.
Ca n'a en fait rien d'étonnant... C'est juste qu'il ne s'agit pas d'un hébergement mutualisé ! :o)
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 4 nov. 2007 à 12:16
Hello,
de tte manière, ça dépend de ton hébergement. En dédié, tu ferais ce que tu veux. En mutualisé, tu es soumis aux règles dictées par ton hébergeur. Comparer CS et ton site n'est pas à mon avis la meilleure manière de comprendre, CS est un très, très gros portail possèdant un serveur dédié. Enfin, un...plusieurs, justement, la db n'est sûrement pas sur le même serveur. Si tant est qu'il n'y est qu'une seule db. Je ne connais pas non plus les détails de l'architecture de CS.
Notre serveur de prod au boulot me permet de nous connecter à n'importe quelle db distante, par exemple.
rttb
Messages postés290Date d'inscriptionjeudi 26 août 2004StatutMembreDernière intervention25 avril 2008 4 nov. 2007 à 16:57
Je n'ai en aucun cas comparé CS à mon site, je n'ai d'ailleurs cité aucun site.
Je faisais juste allusion au fait qu'une seule inscription est nécessaire pour tout le réseau, vu la taille de CS je suppose (et je pense pas dire de bêtise) que derrière il y a plusieurs dédiés et plusieurs BD.
Il me parait évident que si j'avais un dédié je ferais ce que je veux avec...
Tout ce que je veux savoir c'est si je peux faire communiquer deux bases en mutu (donc pas d'accès distant) autrement qu'en générant du fichier cache d'un coté pour le lire de l'autre et alimenter ma base...
rttb
Messages postés290Date d'inscriptionjeudi 26 août 2004StatutMembreDernière intervention25 avril 2008 4 nov. 2007 à 17:10
Mon hébergement ne tolère pas l'accès distant.
Mais je pensais qu'en PHP avec une fonction (en détournant peut-être son utilisation) on pouvait faire passer des paramètres par URL comme précisé quelques post plus tôt pour alimenter un autre site avec ces infos.
rttb
Messages postés290Date d'inscriptionjeudi 26 août 2004StatutMembreDernière intervention25 avril 2008 5 nov. 2007 à 09:23
Tu peux développer un peu "ou une attaque directe en POST ou GET justement".
Quelle fonction PHP autorise l'accés distant, je connais fopen, fread,.. mais c'est pour lire.
rethenor
Messages postés48Date d'inscriptionmercredi 11 juillet 2007StatutMembreDernière intervention 9 mai 2011 20 nov. 2007 à 17:01
Bonjour,
Je ne sais encore comment vérifier en interrogeant sa base de données mais quand l'administrateur de bases de données crée le compte, il a la possibilité de désigner à partir d'où la base peut être interrogée en le spécifiant dans sa commande de création :
GRANT ALL PRIVILIGES ON Base.* TO [mailto:toto@localhost toto@localhost] IDENTIFIED BY "xxxxxx";
GRANT ALL PRIVILIGES ON Base.* TO [mailto:toto@192.168.0.10 toto@192.168.0.10] IDENTIFIED BY "xxxxxx";
GRANT ALL PRIVILIGES ON Base.* TO toto IDENTIFIED BY "xxxxxx";
Dans le 1er cas l'interrogation de la base ne peut se faire qu'à partir de la machine hébergeant le serveur
Dans le second qu'à partir de la machine 192.168.0.10 et dans le troisième à partir de n'importe où (équivalent à [mailto:user@% user@%]).
Chez l'hébergeur FREE c'est à partir de localhost uniquement. Chez AMEN c'est à partir de n'importe où.
Mais j'ai constaté que FREE est draconien sur la sécurité car ma base chez AMEN pouvant être consultée à partir de n'importe où (de chez moi avec la commande: "mysql --user=my00000 --password=XXXXXXXX --database=my00000 --host=mysql0.amenworld.com") ne peut l'être à partir d'un script déposé chez FREE.