Moin!
Da gibt es z.B. außerdem noch die Verzeichnisse pd, private und web_users.
Dafür sollte es eine Dokumentation des Hosters geben. Mithin sind dies aber alles Verzeichnisse, die wahrscheinlich(!) vom Webserver nicht beachtet werden, da diese außerhalb des konfigurierten Document-Root liegen.
Du kannst diese Verzeichnisse dann benutzen um darin also Daten abzulegen, die nicht - oder nicht ohne weiteres - via Webserver abrufbar sein sollen. Genau so gut kannst Du aber ein anderes Verzeichnis dafür benutzen, soweit Du die Rechte hast, dieses gegen Zugriffe zu schützen.
Das kannst Du testen:
lege ein Verzeichnis "test" im Verzeichnis "httpdocs" an. Setze die Rechte auf 0755. (Eigentümer: alle Rechte; Gruppe, Welt: Lesen und Betreten)
lege in dieses Verzeichnis eine index.html (darin muss nicht viel stehen: "<h1>Test</h1>" reicht.
lege darin eine Datei mit dem Name ".htaccess" an. Schreibe in diese "deny from all"
Kommt bei einem Aufruf von http://Dein.Server/test/
eine Fehlermeldung:
403 - Forbidden - dann ist die Welt in Ordnung
404 - dann hast Du Dich vertippt
500 - Du hast als wertiger Kunde Deines Webhosters nicht einmal das Recht mit einer Datei ".htaccess" den Zugriff zu verbieten
Nächster Test:
bringe im Verzeichnis httpdocs eine test.php unter:
<?php
$strDir='test'; # oder '../private' oder...
$strFile='./'.$strDir.'/hallo.txt';
$strRechte=false;
$strNewLine="\n";
/*
Test, ob das Verzeichnis existiert:
*/
if (! is_dir($strDir)) {
die ("<strong>Fatal:</strong>: $strDir ist kein Verzeichnis.".$strNewLine.$strNewLine);
}
/*
Damit nicht versehentlich etwas überschrieben wird:
*/
if (is_file($strFile) || is_dir($strFile)) {
die ("<strong>Fatal:</strong> $strFile existiert schon.".$strNewLine.$strNewLine);
}
/*
Prüfen, ob in das Verzeichnis geschrieben werden (Dateien angelegt, gelöscht, umbenannt) werden kann
*/
if (! is_writable($strDir)) {
$strRechte=fileperms($strDir); # bestehende Rechte lesen
/*
Sehr großzügige Rechte setzen
*/
if (false===chmod ($strDir, '0777')) {
die ('<strong>Fatal:</strong> Verzeichnisrechte für "'.$strDir.'" ('.$strRechte.') genügen nicht und konnten nicht gesetzt werden.'.$strNewLine);
}
echo '<strong>Warnung:</strong> Verzeichnisrechte für "'.$strDir.'" ('.$strRechte.') genügten nicht, wurden deshalb auf "777" gesetzt.<br />Nach dem test wird automatisch versucht, diese zurück zu setzen.'.$strNewLine;
}
/*
Versuch die leere Datei anzulegen:
*/
if (false===touch($strFile)) {
die ('<strong>Fatal:</strong> Trotz aller schönen Theorien konnte die Datei "'.$strFile.'" nicht angelegt werden. Frage den Hoster warum das so ist.'.$strNewLine.$strNewLine);
}
/*
Versuch die Schreib-Rechte für die ganze Welt zu setzen:
*/
if (false===chmod($strFile, '0666')) {
die ('<strong>Fatal:</strong> Trotz aller schönen Theorien konnten für die Datei "'.$strFile.'" keine Rechte vergeben werden. Frage den Hoster warum das so ist.'.$strNewLine.$strNewLine);
}
/*
Versuch in die Datei zu schreiben:
*/
if (false===file_put_contents($strFile, 'Hallo Welt!')) {
die ('<strong>Fatal:</strong> Trotz aller schönen Theorien konnte nicht in die Datei "'.$strFile.'" geschrieben werden. Frage den Hoster warum das so ist.'.$strNewLine.$strNewLine);
}
/*
Versuch die Datei zu lesen:
*/
echo 'Die Datei "'.$strFile.'" hat jetzt folgenden Inhalt:<hr /><pre>'.$strNewLine;
readfile ($strFile);
echo $strNewLine.'</pre><hr />'.$strNewLine;
/*
Versuch die Datei zu löschen:
*/
if (false===unlink ($strFile)) {
die('<strong>Die Datei "'.$strFile.'" konnte nicht gelöscht werden. Warum ist unklar. Lösche die Datei manuell per FTP.</strong>'.$strNewLine.$strNewLine);
}
/*
Wurden Rechte am Verzeichnis gesetzt so wird versucht, diese zurück zu setzen:
*/
if (! false ===$strRechte) {
chmod ($strDir, $strRechte) or die('<strong>Die Dateirechte am Verzeichnis "'.$strDir.'" konnten nicht zurück gesetzt werden. Dies muss sofort manuell überprüft werden!</strong>'.$strNewLine.$strNewLine);
print 'Die Rechte am Verzeichnis "'.$strDir.'" wurden auf "'.$strRechte.'" zurück gesetzt.'.$strNewLine;
}
echo 'Scheint alles ok. zu sein, Die test-Datei wurde gelöscht'.$strNewLine.' ... exit.'.$strNewLine.$strNewLine;
?>
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix