Ich habe eine Funktion auf meiner Website hochgeladen und nur das Hochladen von PDF-Dateien ist erlaubt. So kann ich überprüfen, ob die hochgeladene Datei nur PDF-Dateien enthält. Genau wie getimagesize()
, um die Bilddateien zu prüfen.
Gibt es eine Möglichkeit, die Datei zu überprüfen, ist sicher, pdf zu sein.
Mein Code ist unten gezeigt.
in diesem redirect_to
und mysql_prep
sind von mir definierte Funktionen.
Aber Mime-Typ kann über Header geändert werden.So gibt es eine Möglichkeit, die Datei als orignal PDF zu überprüfen?
Sie können den MIME-Typ der Datei mit den Datei-Info-Funktionen überprüfen. Wenn es mit dem Typ 'application / pdf' zurückkommt, sollte es eine PDF sein.
Die Datei Info Funktionen wurden in PHP 5.3 hinzugefügt, aber davor können Sie die mime_content_type Funktion.
Suchen Sie nach der PDF Magic Number , indem Sie die Datei öffnen und die ersten paar Datenbytes lesen. Die meisten Dateien haben ein bestimmtes Format, und PDF-Dateien beginnen mit % PDF .
Sie können die ersten 5 Zeichen der Datei überprüfen, wenn sie gleich "% PDF-" sind, ist es wahrscheinlich eine echte PDF (dies beweist jedoch nicht endgültig, dass es sich um eine PDF-Datei handelt , da jede Datei mit diesen 5 Zeichen beginnen kann). Die nächsten 4 Zeichen in einer richtigen PDF-Datei enthalten die Versionsnummer (d. H. 1.2).