Inital commit
This commit is contained in:
@@ -0,0 +1,103 @@
|
||||
- Sicherheit: Wieviel besser ist es, das Lister-Verzeichnis dem PHP-Nutzer zu übereignen, anstatt
|
||||
die Rechte auf 757 zu setzen? Lässt sich dass sinnvoll nutzen?
|
||||
|
||||
IST DER NUTZER IMMER "nobody/nogroup"?
|
||||
|
||||
- Es sollte erst das Passwort geprüft und *danach* hochgeladen werden!
|
||||
- Pause nach Passworteingabe ist kein Sicherheitsgewinn, da das Skript einfach
|
||||
erneut aufgerufen werden kann. Lässt sich die Anzahl der Aufrufe aktiv begrenzen?
|
||||
- Erweiterung:
|
||||
Zugriff auf Unterverzeichnisse (im Moment wird bei 'show' & 'download' aber noch geprüft, ob sich die
|
||||
angeforderte Datei im selben Verzeichnis befindet!)
|
||||
Upload-Limit in Byte setzen
|
||||
Beschreibungen in Textdatei speichern
|
||||
Passwort für lesenden Zugriff (optional)
|
||||
/*
|
||||
* If true, the password is requested for up- AND download of files.
|
||||
* (The password has to be set for this, see installation.txt)
|
||||
*
|
||||
* Default: false
|
||||
*/
|
||||
define('REQUEST_PASSWORD_FOR_DOWNLOAD', false);
|
||||
Umbenennen von Dateien
|
||||
MIME-Types für Downloads mitschicken, so dass man z.B. Bilder direkt im Browser ansehen kann
|
||||
Systeminfo mit Werten von "post_max_size" und "upload_max_filesize"
|
||||
|
||||
http://www.simonstenhouse.net/index.php?area=projects
|
||||
|
||||
Passwort-Schutz: Man könnte das Passwort auch als Textdatei in das Upload-Verzeichnis legen. Ist das Verzeichnis
|
||||
sicher, ist auch das Passwort sicher, auch bei Fehlkonfiguration des Servers
|
||||
|
||||
Verzeichnisrechte & htaccess analog zu Gallery2: http://codex.gallery2.org/Gallery2:Security#Short_Check_List
|
||||
-------------------------------
|
||||
Eingetragen bei:
|
||||
http://www.php-resource.de/
|
||||
http://resourceindex.com/
|
||||
http://www.scripts.com/
|
||||
|
||||
-------------------------------
|
||||
Sicherheits-Check! Die Datei darf nicht ausführbar sein
|
||||
-> Opt-In oder Opt-Out Lösung mit Extension-Liste (nicht gut, immer unvollständig)
|
||||
|
||||
BESSERE SICHERHEITSLÖSUNG: Statt irgendwelche Dateichecks wird einfach der Inhalt der
|
||||
Datei direkt vom Skript gelesen und an den Browser übermittelt. Hochgeladene Dateien dürfen
|
||||
nicht direkt aufrufbar sein!
|
||||
http://www.acunetix.de/websitesecurity/php-security-4.htm
|
||||
http://lists.phpbar.de/pipermail/php/Week-of-Mon-20030915/001656.html
|
||||
http://lists.phpbar.de/pipermail/php/Week-of-Mon-20030915/001652.html
|
||||
-------------------------------
|
||||
|
||||
Größenprobleme: http://se2.php.net/manual/de/function.readfile.php#48683
|
||||
|
||||
Informationen zu PHP-Variablen post_max_size und upload_max_filesize anzeigen
|
||||
upload_tmp_dir ist sicherheitstechnisch ebenfalls interessant
|
||||
|
||||
Sicherheit:
|
||||
Am Schluss noch einmal http://www.acunetix.de/websitesecurity/php-security-4.htm lesen
|
||||
Meta-Probleme wie "Upload von Schadcode, Ausführung durch ein anderes, unsicheres
|
||||
Skript auf demselben Server" beachten
|
||||
Auf jeden Fall auf Sicherheitsproblematik hinweisen!
|
||||
|
||||
======================================
|
||||
Vereinfachung, .htaccess, etc.
|
||||
|
||||
Kozept für die Vereinfachung:
|
||||
1. Passwort wird über (reservierte) Datei "password.txt" definiert. Ist sie vorhanden,
|
||||
wird ein Passwort gebraucht, sonst nicht.
|
||||
2. Am schönsten wäre: Hochgeladene Dateien wieder im selben Verzeichnis wie das Skript,
|
||||
das als einzige Datei ausführbar ist - funktioniert das mit htaccess?
|
||||
Idee: Irgendwas mit <IfDefine> zum aktivieren von index.php und sonst Deny from all
|
||||
--> http://httpd.apache.org/docs/2.2/howto/htaccess.html#cgi
|
||||
--> http://aktuell.de.selfhtml.org/artikel/server/htaccess-faq/
|
||||
--> http://httpd.apache.org/docs/2.2/mod/core.html#filesmatch
|
||||
--> http://www.lrz-muenchen.de/services/schulung/unterlagen/regul/regul-14.html
|
||||
--> http://www.danielfett.de/df_artikel_regex#hnegativelookaheadsundlookbehinds
|
||||
--> http://www.drweb.de/php/regulaere-ausdruecke.shtml
|
||||
|
||||
Funktoniert:
|
||||
# Set lister.php as index file
|
||||
DirectoryIndex lister.php
|
||||
|
||||
# Deny access to all files
|
||||
<FilesMatch ".">
|
||||
Deny from all
|
||||
</FilesMatch>
|
||||
|
||||
# Allow access access only for lister.php
|
||||
<Files lister.php>
|
||||
Allow from all
|
||||
</Files>
|
||||
|
||||
---------------
|
||||
|
||||
Funktioniert fast, aber DirectoryIndex wird ignoriert:
|
||||
# Set lister.php as index file
|
||||
DirectoryIndex lister.php
|
||||
|
||||
# Deny access to all files
|
||||
Order Allow,Deny
|
||||
|
||||
# Allow access access only for lister.php
|
||||
<Files lister.php>
|
||||
Allow from all
|
||||
</Files>
|
||||
Reference in New Issue
Block a user