Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1560 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Forcer l'utilisation des class officielles de connexion

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Forcer l'utilisation des class officielles de connexion

n°1936060
edhelas
'Pendant' nous… le déluge ?
Posté le 28-10-2009 à 20:20:55  profilanswer
 

Bonjour tout le monde, voilà je possède un petit problème pour le développement de mon projet.
La plateforme que je développe va s'articuler autour de nombreuses API qui viendrons se greffer sur les class principales (nottament la class de connexion à la BDD). De nombreuses API seront vérifiés par l'équipe de développement mais nous autoriserons aussi l'installation d'API tierces (avec l'avertissement de l'utilisateur).
 
La question est : comment je peu forcer les API tierces à utiliser la class officielle de connexion à la base de donnée (et ainsi de lui donner l'accès au login et au mot de passe de connexion) et éviter ainsi que l'API tierce demande à l'utilisateur son login et son mot de passe pour se connecter elle même à la BDD.
 
En gros il faudrais "forcer" les API à passer par BDD_Auth pour se connecter et interdire les codes de connexion maison
 
Merci de m'éclaircir sur le sujet  [:kabale]


---------------
╯°□°)╯︵ ┻━┻
mood
Publicité
Posté le 28-10-2009 à 20:20:55  profilanswer
 

n°1936125
FlorentG
Posté le 29-10-2009 à 09:43:26  profilanswer
 

Bon déjà, c'est impossible à 100% d'empêcher une API tierce d'utiliser ses propres méthodes [:sadnoir]. Par contre, on peut leur obliger de prendre des objets en paramètre, indiquant qu'il serait bien de les utiliser :p  
 
 
Pour ça, faut que les API tierces héritent de classes de base que tu aura définit.
 
Genre pour les objets devant utiliser un BDD_Auth, tu peux en demander un dans le constructeur d'une classe de base, genre :
 

Code :
  1. abstract class Base
  2. {
  3.  
  4.  private $auth;
  5.  
  6.  
  7.  public function __construct(BDD_Auth $auth)
  8.  {
  9.    $this->auth = $auth;
  10.  }
  11.  
  12. }


Et les API tierces devront obligatoirement hériter de Base et prendre en paramètre un BDD_Auth :

Code :
  1. class Bidule_Tiers extends Base
  2. {
  3.  
  4.  public function __construct(BDD_Auth $auth)
  5.  {
  6.    parent::__construct($auth);
  7.  }
  8.  
  9. }


 
Après de ton côté, quand t'instancies le machin tiers, tu vérifies qu'il hérite bien de Base :

Code :
  1. $biduleTiers = new Bidule_Tiers($bdd_auth);
  2. if(!$biduleTiers instanceof Base) {
  3.  throw new Exception('Bidule_Tiers doit hériter de Base');
  4. }


 
Avec ça tu sera sûr qu'un BDD_Auth circule bien. Mais toujours le problème d'impossibiliter de forcer une méthode ou une autre :/

n°1936249
edhelas
'Pendant' nous… le déluge ?
Posté le 29-10-2009 à 15:47:38  profilanswer
 

Ok merci  :jap:
C'est pourtant dommage qu'on ne puisse pas forcer ce genre de chose [:transparency]


---------------
╯°□°)╯︵ ┻━┻
n°1936302
windob
Posté le 29-10-2009 à 17:58:14  profilanswer
 

Tu peux toujours faire un code qui ouvre le fichier de l'API tierce (Ouvrir, pas inclure) et chercher dedans des occurrences des fonctions classiques MySQL (mysql_connect, pconnect, query, ...).


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Forcer l'utilisation des class officielles de connexion

 

Sujets relatifs
Problème d'utilisation de REPLACE[Resolu][SOAP][PHP] Utilisation des paramètres
utilisation flèche du clavierServlets - Utilisation correcte ?
[C#] Connexion server BO - Crystal Reportconnexion avec ODBC
Utilisation de polices/fonts sur internet,Erreur à la compilation en utilisant driver postgresql. Classpath?
[Javascript] Utilisation de balises BB dans un textareaFichier en cours d'utilisation
Plus de sujets relatifs à : Forcer l'utilisation des class officielles de connexion


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR