So bestimmen Sie den Typ einer hochgeladenen Datei genau in PHP
Mit der zunehmenden Beliebtheit von Online-Dateifreigaben und -Uploads wird die Überprüfung der Datei immer wichtiger Art der hochgeladenen Dateien ist eine wesentliche Maßnahme für Sicherheit und Datenintegrität. In PHP stehen hierfür mehrere Methoden zur Verfügung. Allerdings haben die von Ihnen genannten Optionen ihre Einschränkungen.
Eingebaute Funktionen von PHP: Einschränkungen
Die Funktionen is_uploaded_file() und move_uploaded_file() prüfen nur, ob eine Datei vorhanden ist hochgeladen. Sie liefern keine Informationen über den Dateityp.
MIME-Typprüfung: Fehlerhaft und veränderbar
MIME-Typen (Multipurpose Internet Mail Extensions) können zur Identifizierung von Dateien verwendet werden. aber sie sind oft ungenau oder gefälscht. Browser und Betriebssysteme können MIME-Typen auch unterschiedlich interpretieren.
Erweiterungsprüfung: leicht änderbar
Die Überprüfung der Dateierweiterung ist ähnlich unzuverlässig, da Benutzer Dateien zum Ändern leicht umbenennen können die Erweiterung.
Lösung: MIME-Typ und Dateiinfo
An Um den Dateityp genau zu bestimmen, sollten Sie die Verwendung der PHP-Erweiterungen mime_content_type oder Fileinfo in Betracht ziehen. Diese Befehle untersuchen den Inhalt der Datei, anstatt sich auf Header oder Erweiterungen zu verlassen.
Alternative Methode mit system("file -bi $uploadedfile")
Wie Sie erwähnt haben, ist die Der Befehl system("file -bi $uploadedfile") kann auch bei der Bestimmung von Dateitypen hilfreich sein. Beachten Sie jedoch, dass die Ergebnisse möglicherweise nicht immer genau sind, insbesondere wenn die Datei beschädigt ist oder auf dem System nicht die erforderlichen Tools installiert sind.
Zusätzliche Überlegungen
In Zusätzlich zu den besprochenen Methoden finden Sie hier einige allgemeine Tipps zur Überprüfung von Dateitypen:
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3