2009-05-29 14 views
0

Aktueller Status. Ich muss 606 für meine foobaa.txt einstellen.Ich möchte meine TXT-Datei sicher machen

Ich schrieb einen PHP-Code, die foobaa.txt lesen und schreiben,

und ich möchte die Erlaubnis des foobaa.txt als 600.

Aber machen, wenn ich 600 getestet , der PHP-Code kann foobaa.txt nicht lesen und schreiben.

so änderte ich 606 die foobaa.txt, dann kann mein PHP-Code die foobaa.txt lesen und schreiben.

dies problom, weil

wenn jemand

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

direkt, dann kann er den Inhalt des foobaa sehen. txt.

Dies ist Sicherheitslücke.

so möchte ich 600 für die Genehmigung des foobaa.txt machen, aber wenn ich dies tun, dann der PHP-Code kann nicht lesen und foobaa.txt schreiben.

Ich denke, die Admin einige Einstellungen apatch ändern können wir die txt-Datei die Erlaubnis als 600.

oder tun setzen kann ich ein paar andere Dinge zu tun haben?

wie .htaccess oder etwas.

Antwort

2

Sie könnten den Zugang durch .htaccess einschränken:

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

oder etwas ähnliches. Aber das ist nicht perfekt ... besser wäre es, die Datei außerhalb Ihres public_html (oder gleichwertigen) Ordners zu verschieben.

+0

oh, das ist großartig! Ich habe komplett vergessen, außerhalb von public_html zu verwenden. danke! –

8

Ihr PHP-Code läuft als Webserver, nicht der Benutzer, der sich in das Konto einwählt und die Berechtigungen ändert. Wenn also die Textdatei vom Skript gelesen werden kann, ist sie vom Server lesbar. Sie möchten den Zugriff externer Benutzer auf die Datei mit einer der folgenden Methoden steuern.

  1. Legen Sie die Datei außerhalb Ihres DocumentRoot, so dass das Skript darauf zugreifen kann, aber es ist unmöglich Anfrage von HTTP.

  2. Legen Sie die Datei in ein Verzeichnis mit einer .htaccess-Datei, die einfach Deny From All liest. Sie können die Datei auch einzeln schützen, aber es ist wahrscheinlich, dass Sie andere verwandte Dateien haben, die privat bleiben sollen. Sie können diese einfach in dasselbe Verzeichnis stellen.

+0

danke! Ich habe –

+0

"Webserver" bedeutet Apatch? "läuft als Webserver" measns mein PHP-Code läuft schreit, dass "Hey! Ich bin Apatch! Hey! Ich bin Apatch! Hey! Ich bin Apatch!" –

+0

SSH = FTP? –

Verwandte Themen