|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2007 Messages : 33 ![]() |
Bonjour,
Je récupéré les paramètres de connexion à la base de donnée de clients lors du login de ceux-ci en interrogeant une table mysql "maitresse" ou ils sont stockés sous forme cryptée. C'est à dire : j'interroge la table maitresse pour identifier le client, si son login/mdp sont bons, je récupère les DSN, USER, PWD pour se connecter à une autre base ou sont stockées les données à traiter. Dans mon script d'identification, je ferme alors la connexion à la première base pour me connecter à la deuxième. J'essaie ainsi d'assurer un minimum de sécurité en ne faisant pas apparaître les identifiants de chaque clients en clair et en ne les inscrivant pas en session. Ensuite j'aimerai conserver cette connexion à la base pour l'utiliser de script en script. Est-ce possible sans fournir à nouveau les paramètres de connexion du client ? J'ai commencé avec un singleton d'une classe PDO, mais j'ai des connaissances limitées en développement objet et je me demande si cela est possible, si je ne fais pas fausse route... |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : janvier 2006 Messages : 951 ![]() |
dans apache configuré pour les processus et les processus légés, chaque execution de php est indépendante l'une de l'autre. Je veux dire que chaque appel de ressource (image, html, flux rss...) est traité de façon indépendante à chaque fois. Donc
bon maintenant les connexions persistantes. La connexion persistante est, si j'ai bien compris, une sorte de mutualisation de la session ouverte d'un script à l'autre, faite au niveau du pilote. Du coup si ton serveur est suffisement chargé tu conserveras la même connexion vers la bdd pour générer plusieurs page. L'avantage c'est que ça permet de bien utiliser le cache et en lecture on doit s'y retrouver. Par contre en écriture, comme les requetes de tous les visiteurs vont passer par la même session (au sens oracle) ou la même connexion il est possible que la base ait plus de mal pour s'y retrouver dans de très rares cas.
__________________
PHP fait nativement la validation d'adresse électronique Utilisez le bouton résolu! |
|
|
00
|
|
|
#3 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2007 Messages : 33 ![]() |
merci pour ta réponse.
C'est surtout le fait d'établir une connexion sans fournir à nouveau les paramètres de connexion qui m’intéresse surtout. J'ai cru comprendre qu'il fallait mieux passer par une connexion persistante et un singleton PDO. Après il y a peut-être d'autre méthode, mais si ça va plus vite en lecture ça me va bien, car c'est essentiellement de la consultation que je veux faire. Par contre, concrètement je n'arrive pas à le réaliser pour l'instant. J'utilise la class de JM Lecarpentier Code :
|
||
|
|
00
|
|
|
#4 | |||
|
Membre Expert
![]() Inscription : septembre 2010 Messages : 1 240 ![]() |
Citation:
Code :
__________________
- Réalisations - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical. |
|||
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2007 Messages : 33 ![]() |
merci je vais regarder cela, mais j'ai vraiment du mal à capter, ça patauge dur.
c'est un peu complexe pour un début en POO. edit : dans l'exemple, il y'a un fichier des données de connexion quelque part en dur non ? on s'y réfère à chaque appel à la class ou non ? D'autres points dont je ne suis pas sûr : Il faut bien mettre l'objet en session ? pour cela il faut le linéariser avec serialize(), mais comme ce n'est pas possible avec un objet pdo, il faut utiliser les fonctions magiques sleep() et wakeup() ? j'ai bon ? |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Inscription : septembre 2010 Messages : 1 240 ![]() |
Oui (avec le require_once) ça centralise les données sensibles sur une seule page.
__________________
- Réalisations - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical. |
|
|
00
|
|
|
#7 |
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2007 Messages : 33 ![]() |
mince ! c'est ce que je veux éviter justement, en plus pour moi ces paramètres sont dans une table mysql comprenant les attributs de chaque membre/client.
Il n'y a donc pas moyen de faire une classe "connexion" ou la connexion est établie une fois au départ et ensuite on s'y réfère d'une façon ou d'une autre sans à avoir à donner les paramètres de connexion ? |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Inscription : septembre 2010 Messages : 1 240 ![]() |
??? je vois pas très bien comment peut fonctionner ton système. Si les paramètres de connexion à la bdd sont dans une table, comment fais-tu pour te connecter à cette table pour obtenir les paramètres de connexion ?
__________________
- Réalisations - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical. |
|
|
00
|
|
|
#9 |
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2007 Messages : 33 ![]() |
Il y a plusieurs bases ce n'est pas la même.
Dans la première table, si l'identification est bonne, je récupéré ("DSN","USER","PWD") pour me connecter à une autre base. |
|
|
00
|
|
|
#10 |
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2007 Messages : 33 ![]() |
Ce n'est pas clair ce que j'ai écris ?
J'ai encore cherché, et vraiment je n'arrive pas à comprendre/savoir si on peut se référencer d'une manière ou d'une autre à un objet PDO créer au départ dans le script d'authentification sans à avoir à redonner les paramètres de connexion. Sinon je peux faire passer ces paramètres dans les variables de session, mais ce n'est pas très sécurisant, non ? |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com