Ich arbeite derzeit an einem Online-Filemanager. Bis jetzt habe ich für mich die Frage noch offen gelassen, welche Zeichen ich für $_POST-Requests verbieten muss. Im System werden Pfadangaben zu Dateien, z.B. zum Umbennen, momentan direkt verwendet. Jeder einzelne Benutzer des File-Managers besitzt seinen Eigenen Ordner und nur darin darf er herumwerkeln. Jetzt geht es darum die Requests via preg_replace() zu validieren. Dabei ist mir bekannt, dass ich auf jeden Fall "./" und "../" aus dem String nehmen muss.
Nun die Frage, welche Zeichen wären noch wichtig, die den Code manipulieren könnten und dem Benutzer Zugriff auf Dateien gewähren auf die er nicht zugreifen soll.
Desweiteren die Frage, welche Zeichen sollte ich beim Erstellen einer neuen Datei verbieten? Ich habe schon ausprobiert, welche Zeichen ich für die Dateien auf dem Webserver nutzen kann, nun denke ich aber dass es auch Unterschiede je nach Server gibt, welche Zeichen in Dateinamen unterstützt werden. Gibt es irgendwo eine Übersicht darüber welche Zeic hen ich dafür verwenden sollte?
Und noch eine dritte Frage am Rande: Ist es möglich mittels $_POST-Eingaben den PHP-Code zu unterbrechen und etwas einzuschleusen, oder hat PHP da schon von Haus aus was dagegen?
Nun die Frage, welche Zeichen wären noch wichtig, die den Code manipulieren könnten und dem Benutzer Zugriff auf Dateien gewähren auf die er nicht zugreifen soll.
Desweiteren die Frage, welche Zeichen sollte ich beim Erstellen einer neuen Datei verbieten? Ich habe schon ausprobiert, welche Zeichen ich für die Dateien auf dem Webserver nutzen kann, nun denke ich aber dass es auch Unterschiede je nach Server gibt, welche Zeichen in Dateinamen unterstützt werden. Gibt es irgendwo eine Übersicht darüber welche Zeic hen ich dafür verwenden sollte?
Und noch eine dritte Frage am Rande: Ist es möglich mittels $_POST-Eingaben den PHP-Code zu unterbrechen und etwas einzuschleusen, oder hat PHP da schon von Haus aus was dagegen?
Kommentar