Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonsoir,
J'ai eu une surprise tout à l'heure en faisant ceci :
print_r($this->fetchAll($this->select()->order($order)));
En regardant les données affichées dans le navigateur, je m'aperçois que les accès à la base de données son affichés en clair.
[_config:protected] => Array ( [host] => localhost [username] => user_bdd [password] => mot_de_passe [dbname] => base_de_donnees [options] => Array ( [caseFolding] => 0 [autoQuoteIdentifiers] => 1 ) [driver_options] => Array ( ) )
Y'a un truc pour désactiver cette horreur ?
Merci d'avance !
Hors ligne
non c'est normal que l'application voit en claire les informations de la base.
ce qui l'est pas c'est de les afficher.
comment veux tu que ton application fonctionne si elle ne voit pas la base ?
ça n'a rien d'une horreur
c'est à toi à ne pas divulguer l'information. ZF lui les garde pour lui. s'il te prends l'envie de le crier sur les toit rien ne t'en empêche.
A+JYT
Hors ligne
Je pense plus a un défaut de l'application, qui pourrait afficher un message de debugage en cas d'erreur non gérée par une exception.
Je ne vois pas en quoi on a besoin des accès à la base quand on récupère les résultats d'une requête.
Hors ligne
Sekaijin à raison. Le résult du print_r est générer coté serveur ! Donc, si pas de print_r, pas d'info qui transite vers le client. Dans ce cas, on peut pousser le bouchon sur l'affichage des variables protégés Et s'en prendfd aussi au langage PHP !
En général, en prod, les exceptions ne sont pas affichés La encore, c'est a la charge (betise ?!) du développeur
Dernière modification par nORKy (08-12-2008 10:34:30)
Hors ligne
Pour ma part, je fais comme ceci dans mes modèles :
$this->_db->fetchAll(....);
Ca m'evite d'avoir tous ces infos pour rien. Il y a une methode aussi pour mettre en cache ces infos là si tu veux garder ça comme cela.
Hors ligne
Pages: 1