2009-05-29 5 views
0

État actuel. Je dois définir 606 pour mon foobaa.txt.Je souhaite sécuriser mon fichier txt

j'ai écrit un code php, que lire et écrire foobaa.txt,

et je veux faire la permission du foobaa.txt comme 600.

Mais quand je l'ai testé 600 , le code PHP ne peut pas lire et écrire foobaa.txt.

donc j'ai changé à 606 le foobaa.txt, puis mon code PHP peut lire et écrire le foobaa.txt.

c'est problom, parce que

quand quelqu'un a mis

ttp: //blabla.foobaa.com/foobaa.txt

directement, il peut voir le contenu de la foobaa. SMS.

Ceci est un trou de sécurité.

donc je veux faire 600 pour la permission du foobaa.txt, mais si je le fais, puis le code php ne peut pas lire et écrire foobaa.txt.

Je pense que l'administrateur peut modifier certains paramètres de apatch car nous pouvons définir la permission du fichier txt comme 600.

ou dois-je faire d'autres choses?

comme .htaccess ou quelque chose comme ça.

Répondre

2

Vous pouvez restreindre l'accès par .htaccess:

<Files foobaa.txt> 
    Deny from all 
</Files> 

ou quelque chose de similaire. Mais ce n'est pas parfait ... mieux serait de déplacer le fichier en dehors de votre dossier public_html (ou équivalent).

+0

oh, c'est génial!J'ai complètement oublié d'utiliser en dehors de public_html. merci! –

8

Votre code PHP s'exécute en tant que serveur Web, pas l'utilisateur qui se connecte au compte et modifie les autorisations. Donc, si le fichier texte est lisible par le script, il est lisible par le serveur. Vous voudrez contrôler l'accès des utilisateurs externes au fichier par l'une des méthodes suivantes.

  1. Placez le fichier en dehors de votre DocumentRoot, de sorte que le script peut accéder, mais il est impossible de demander par HTTP. Mettez le fichier dans un répertoire avec un fichier .htaccess qui lit simplement Deny From All. Vous pouvez également protéger le fichier individuellement, mais il est probable que vous ayez d'autres fichiers connexes qui doivent rester confidentiels. Vous pouvez simplement les mettre dans le même répertoire.

+0

merci! J'ai –

+0

"serveur web" signifie apatch? "fonctionne en tant que serveur web" measns que mon code PHP s'exécute en criant que "Hey! Je suis apatch! Hey! Je suis apatch! Hey! Je suis apatch!" –

+0

SSH = FTP? –

Questions connexes