2010-12-07 36 views
1

actuellement je stocke les données de connexion dans le fichier php. mais comme récemment arrivé avec facebook, que les fichiers php apparaissent à l'écran sans traitement, pour éviter un tel scénario est leur autre alternative?comment stocker la chaîne de connexion mysql

Répondre

0

Notre solution est de garder un minuscule my.cnf avec juste la section [client] définie. La plupart des connecteurs MySQL ont une directive "read_defaults_file" qui vous permet d'utiliser directement le fichier.

Vous pouvez ensuite conserver ce fichier sous sécurité, et le script échouera sur cette ligne si l'utilisateur n'est pas autorisé pour cette information. Si vous utilisez au moins php5, mysqli::options fait exactement ce que je décris lorsque MYSQLI_READ_DEFAULT_FILE est spécifié. Sur les anciennes versions de php, il semble que le parse_ini_file fait l'affaire de l'analyse. Cette approche a l'avantage d'être compatible avec Perl, Python et C, de sorte que si les informations de votre base de données changent, il vous suffit de mettre à jour un fichier et toutes vos applications resteront synchronisées.

+0

Les fichiers .ini ne sont pas accessibles directement? – subash

+0

Les fichiers .ini sont accessibles directement. – bukzor

0

Stockez vos informations de connexion privée dans un fichier situé en dehors du dossier racine de votre document et utilisez require_once pour le charger. De cette façon, si quelque chose se produit, les utilisateurs ne peuvent pas accéder à http://yoursite/db.config.php et télécharger votre fichier. Mettez votre fichier qui contient la chaîne de connexion Ex: connect.php en dehors du dossier webroot

+0

J'utilise l'hôte partagé ... alors voulez-vous dire que je dois mettre le fichier en dehors du dossier public_html? – subash

+0

oui. Ça marcherait. –

1

+0

je suis sur l'hôte partagé comment vais-je accéder à ce fichier – subash

+0

mettre le fichier en dehors de public_html et accéder au fichier avec le chemin relatif à savoir., '../ connect.php' – RSK

+0

merci, va l'essayer – subash

1

Si vous êtes concerné, ajoutez une exception htaccess qui rend le fichier "chaîne de connexion" inaccessible depuis le web.

RewriteRule /path/to/dbsettings.php index.php [NC]

Je crois que est exact, bien que peu rouillé dans le domaine htaccess. Tous les gourous se sentent libres de me corriger.