$_FILES Maximale Abmessung

HighTec

Lieutenant
Registriert
Sep. 2006
Beiträge
761
Moin liebe Forumgemeinschaft.

Ich arbeite im moment an einem register Formular bei dem User Benutzerbilder hoch laden können.
Ich kenne bis her die Standartnamen wie :

PHP:
$_FILES['data']['name'];
$_FILES['data']['tmp_name'];
$_FILES['data']['size'];
$_FILES['data']['error'];

Meine Fragen dazu:

- Gibt es noch mehr eigenschaften um Informationen über die Dateien heraus zu bekommen?

- Wie bekomme ich es hin die Abmessung des Bildes herauszufinden und somit eine limitierung zu verwirklichen?

- Mit dem einfachen Ändern der Dateiendung ist es nun möglich unterbundene Dateien trotzdem hochzuladen. Ich habe eine Überprüfung von seitens HTML (Diese bewirkt aber irgendwie nichts) und seitens PHP (Dies funktioniert sofern die Dateiendung richtig ist). Was für möglichkeiten habe ich noch um verbotene Dateien wie z.B. bösartigen Code von meinem Server fern zu halten?

PHP:
//so in etwa//

if($_FILES['data'] == "image/pjpeg"){
//passt
}
(Der Code ist jetzt so aus dem Kopf dahin geschrieben ist womöglich falsch)


Ich habe im moment keinen Quelltext vorliegen. Dieser wird aber bei der Problemlösung nicht beitragen können.

Wäre nett wenn ihr mir da helfen könntet

Hatte bei Google nicht viel helfendes gefunden, aber wenn ihr was nützliches gefunden habt dann bitte posten, ich kann es auch übersehen haben.

Greetz

HighTec
 
Hallo,

wenn die Datei hochgeladen wurde, kannst du die temporäre Datei (tmp_name) oder gleich die verschobene Datei begutachten. Entweder du nutzt irgendwelche Image-Funktionen oder z.B. getimagesize(), die auch ohne Image- bzw. GD-Bibliothek funktioniert. Wenn bei dieser Funktion etwas schiefläuft, gibt dir das auch schon einen Anhaltspunkt, ob es sich tatsächlich um eine Grafik handelt.

MfG
 
Yeah das ich da nicht drauf gekommen bin :stock:


Dankeschön das hat mir meine Fragen beantwortet.

Übrigens zur vollständigkeit. Man kann die Höhe und die Breite auch mit imagesx() und imagesy() auslesen. Hab ich in verbund mit deinem Post gefunden.

Greetz

HighTec
 
Zurück
Oben