Ankündigung

Einklappen
Keine Ankündigung bisher.

PDF-Uploads prüfen

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PDF-Uploads prüfen

    Hallo,

    wie kann ich eine hoch geladene PDF-Datei sicher prüfen, dass es sich um eine PDF handelt?

    Vielen Dank!


  • #2
    PDF Dateien besitzen eine Magic Number und beginnen immer mit "%PDF"

    Du könntest die Datei also öffnen und die ersten 4 Bytes darauf prüfen.

    Das wäre die sicherste Methode meines Erachtens, denn auf Dinge wie Dateiendungen oder vom Browser mitgelieferten MIME Type würde ich mich nicht verlassen

    Kommentar


    • #3
      andererseits kann bei dem Test die PDF auch Virusverseucht sein - was gar nicht mal so selten vorkommt ...
      "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

      Kommentar


      • #4
        Folgender Code sollte funktionieren.
        Es muss nur der entsprechende Dateipfad eingesetzt werden.

        PHP-Code:
        <?php
        $filename 
        '/path/to/uploaded.file';

        // Lese die ersten 4 Bytes aus
        $magicNumber file_get_contents$filenameFALSE NULL4);

        // prüfe gegen die Magic Number von PDF Dokumenten
        if($magicNumber === '%PDF')
        {
            echo 
        "Die hochgeladene Datei ist ein PDF";
        }
        else
        {
            echo 
        "Die hochgeladene Datei ist kein PDF";
        }
        @see http://php.net/manual/de/function.file-get-contents.php
        @see https://de.wikipedia.org/wiki/Magisc...l_(Informatik)
        @see https://de.wikipedia.org/wiki/Portable_Document_Format

        Kommentar


        • #5
          eagle275 hat durchaus recht, aber die absolute Sicherheit gibt es halt nie

          Kommentar


          • #6
            Für die Vorschläge vielen Dank

            Kommentar


            • #7
              Zitat von Gnom42 Beitrag anzeigen
              PDF Dateien besitzen eine Magic Number und beginnen immer mit "%PDF"

              Du könntest die Datei also öffnen und die ersten 4 Bytes darauf prüfen.

              Das wäre die sicherste Methode meines Erachtens, denn auf Dinge wie Dateiendungen oder vom Browser mitgelieferten MIME Type würde ich mich nicht verlassen
              http://de2.php.net/manual/en/ref.fileinfo.php

              nutzt die magic datenbank was wesentlich einfacher zu handahben ist.
              zudem kann man noch ghostscript nutzen.

              handisches prüfen finde ich eher zu stressig.

              Kommentar

              Lädt...
              X