connecter un serveur sql distant, modifs de fichier de conf, conséquences ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : connecter un serveur sql distant, modifs de fichier de conf, conséquences ?

par Cyrano » 25 janv. 2008, 15:17

C'est le propre des Web Services. Il faudrait pas mal de temps pour l'expliquer en détail, fouille le net sur le sujet et selon ta version de PHP, les solutions sont plus ou moins simples. En PHP5 il y a des extensions natives intéressantes. D'autre part, je ne suis pas très habitué au système, je ne serai pas le plus qualifié pour t'expliquer ça en détail.

par Ondskapt » 25 janv. 2008, 15:09

Salut,

merci pour ta réponse.

J'ai besoin de précisions sur ta première solution, du web service : comment passer des paramêtres entre 2 serveurs distincts ? Pour l'envoi, je pense aux paramêtres GET lors de l'appel de la page (bien que je ne vois pas comment automatiquent lancer la page sans ouverture de navigateur), mais une fois le script effectué par la page, comment envoyer le résultat de la requête vers la page qui appelle ?

Merci !

Edit :
Hop, j'ai trouvé, avec un fopen() distant.

Je fais mes tests pour confirmer ça !
Encore merci !

par Cyrano » 25 janv. 2008, 14:32

Suggestion :
tu pourrais créer un web service sur le même serveur que ta base et depuis l'exétieur utiliser ce web service au lieu d'effectuer un accès externe plus risqué. L'application de ton web service fera alors un accès en localhost et tu pourras laisser la directive skip-networking en place ce qui sera beaucoup moins dangereux pour tes données.

Autre option : ajouter un utilisateur à MySQL auquel tu limiteras les droits d'accès à une base spécifique et en restreignant à certaines opérations seulement pour des raisons évidentes de sécurité et dans ce cas ton application externe ne pourra utiliser que ces paramètres là et non les paramètres d'accès utilisés en local. Et là bien entendu il faut désactiver la directive skip-networking.

Mais de ce que je peux voir, la directive bind-address bloque l'accès à la seule ip 127.0.0.1 c'est à dire un accès local : pour ouvrir un accès externe, il faudrait soit désactiver cette directive soit y ajouter l'ip de ton application externe si elle est fixe.

connecter un serveur sql distant, modifs de fichier de conf,

par Ondskapt » 25 janv. 2008, 13:55

Bonjour,

j'ai toujours travaillé avec des pages PHP qui exploitaient une base de données sur le même serveur, travaillant donc en localhost. Je dois maintenant me connecter à ma base depuis un autre serveur, et ça ne va pas, évidemment. J'ai bien compris qu'il fallait autoriser les accès externes, mais je me demande si ce que j'ai fait jusque là ne sera pas mis en vrac par des effets inattendus.

Toutes mes fonctions utilisent un mysql_connect() classique avec localhost/user/mdp. Si je fais des modifs dans mon fichier de conf, est-ce que ça fonctionnera toujours ou je devrais changer localhost par l'adresse IP du serveur par exemple ?

Extrait du fichier de configuration my.cnf :

Code : Tout sélectionner

# # * Basic Settings # user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp language = /usr/share/mysql/english skip-external-locking # # Instead of skip-networking you can now listen only on # localhost which is more compatible and is not less secure. bind-address = 127.0.0.1 #skip-networking
Que modifier exactement ?
Comme le serveur et la base de données sont en prod' (et que je n'ai pas de config identique pour faire des tests), j'ai pas trop envie de mettre le serveur ou mes applis en vrac ...

Merci pour votre aide !