2010-11-19 6 views
2

Ich möchte, dass Benutzer Dateien hochladen können, aber ich möchte nicht, dass sie den Inhalt des Ordners sehen können, in den die Dateien hochgeladen werden. Ein PHP-Skript sollte in der Lage sein, die Dateien im versteckten (für die Benutzer) Ordner zu durchsuchen und zu lesen.PHP - Datei für Skript zugänglich machen, aber nicht für Benutzer

Irgendwelche Ideen?

Antwort

5

In einen Ordner hochladen, der nicht in public_html ist - sie können dann nur über FTP oder den Server selbst zugegriffen werden, nicht über HTTP.

3

Theres mehrere Möglichkeiten, dies zu erreichen.

option1: wie Kolink sagt, legen Sie die Dateien außerhalb des Webroot (public_html)

option2: eine .htaccess verwenden, wo Sie Zugriff auf das Verzeichnis verweigern, wenn Sie die Dateien aufgelistet werden nicht wollen, können Sie verwenden die folgenden in der .htaccess

Optionen -Indexes

das könnte dir auch wollen Blick auf die Berechtigungen für die Dateien mit chmod.

+0

Wenn ich den Zugriff auf das Verzeichnis verweigere, würde es nicht auch Skripte verweigern, die versuchen, darauf zuzugreifen? – quano

+0

@quano, nein. Dies wird nur den Zugriff auf die Standard-index.php-Datei deaktivieren, die den Inhalt des Verzeichnisses anzeigt und stattdessen eine 403 - Verbotene Nachricht zurückgibt (die Sie anpassen können). Sie greifen also nicht auf ein Verzeichnis/dir, sondern auf/dir/file.png zu. –

0

Nicht völlig sicher, aber eine einfache Lösung wäre, eine index.php-Datei in den Ordner zu platzieren, auf den nicht zugegriffen werden soll, der den Benutzer zurück zur Homepage leitet. Dies verhindert hauptsächlich das einfache Durchsuchen nicht indizierter Ordner.

<?php 
    header('Location: ../../index.html'); 
?> 
Verwandte Themen