2011-09-23 2 views
0

J'ai une sorte de fichier comme celui-ci, il est une base de données utilisateur (udb.htm):Faire un fichier sécurisé que PHP peut lire?

user1:pwd1 
user2:pwd2 
user3:pwd3 

quelque chose le long des lignes de cela. Je voudrais sécuriser ce fichier et le rendre disponible pour PHP via la méthode file_get_contents("udb.htm");, mais pas une fenêtre de navigateur. Merci!

+0

S'il vous plaît me dire que vous avez chiffré les mots de passe ... –

+0

ouais j'ai lol md5 – snarkyt123

+0

(juste un exemple) – snarkyt123

Répondre

1

Placez le fichier en dehors de la racine Web. Par exemple, dans le répertoire qui contient public_html. PHP peut y accéder (et n'importe quel autre fichier sur le système), mais vous ne pouvez pas y accéder depuis le web.

0

Déplacez le fichier dans un dossier toujours accessible à PHP mais pas aux clients Web.

+0

"déplacer le fichier dans le dossier" - du dossier? – genesis

+0

@ genesisφ "un dossier" – JohnD

+0

Je pense que le mot que vous recherchez est «répertoire»: D –

0

Ce que vous voulez faire est de placer la base de données sous le chemin web. Ainsi, par exemple, si votre site est à www.example.com et il pointe:/var/www/html

Ensuite, vous pouvez mettre votre fichier de mot de passe dans /var/www/password/udb.htm

Ensuite, accédez-y à partir de votre script php en tant que fichier_get_contents ("../../ mot_de_passe/udb.htm")

Votre script peut accéder au fichier, mais pas votre service Web.

2

vous pouvez:

  • télécharger le fichier dans un répertoire en dehors du répertoire html public, mais que php a accès
  • bloquer l'accès au fichier en utilisant .htaccess apache <Fichiers> ou similaires
  • utilisation authentification HTTP de base
  • enregistrer vos données dans une base de données réelle (MySQL, MSSQL, Oracle, SQLite)
0

Cela modifie les autorisations de votre fichier avant l'ouverture, et supprimer les subventions lorsque vous fermez le fichier, assurez-vous sur les autorisations du serveur Web sur le fichier.

<?php 

$file = 'udb.htm'; 
chmod($file, 0600); 
$contents = file_get_contents($file); 
chmod($file, 0000); 

?> 
+0

Wow, j'aime la réponse, mais je pense vraiment qu'un n00b comme moi devrait apprendre MySQL 0.o – snarkyt123

Questions connexes