Best practices: Mime-Type check

TriplEforms Getting Started

Gemaakt door Mark Duijkers, Gewijzigd op Fri, 10 Feb 2023 om 01:17 PM op Mark Duijkers

Mime-type checking betekent dat je hexSignatures van een bestand controleert en kijkt of die wel overeenkomt met de extensie van het bestand. Zo kan een .exe bestand niet als .jpg geupload worden.


In de web.config geef je de Mime Type per extensie op. Let wel op dat wanneer je Mime-Type aanzet je alleen die extensies kan gebruiken in TriplEforms, anders zal het bestand niet geĆ¼pload worden. 



Voorbeeld van een inrichting met de meest voorkomende extensies in alfabetische volgorde:

<!-- For each file type, hex signatures are needed to validate mime type of files. These signatures can be retrieved from: https://en.wikipedia.org/wiki/List_of_file_signatures -->


<configuration>
  <kodision.tripleforms>
    <mimeTypeValidation enabled="true">
      <fileSignatures>
        <add extension=".doc">
          <hexSignatures>
            <add value="D0 CF 11 E0 A1 B1 1A E1"/>
          </hexSignatures>
        </add>
        <add extension=".docx">
          <hexSignatures>
            <add value="50 4B 03 04"/>
            <add value="50 4B 05 06"/>
            <add value="50 4B 07 08"/>
          </hexSignatures>
        </add>
        <add extension=".jpg">
          <hexSignatures>
            <add value="FF D8 FF DB"/>
            <add value="FF D8 FF E0 00 10 4A 46 49 46 00 01"/>
            <add value="FF D8 FF EE"/>
            <add value="FF D8 FF E1 ?? ?? 45 78 69 66 00 00"/>
          </hexSignatures>
        </add>
        <add extension=".jpeg">
          <hexSignatures>
            <add value="FF D8 FF DB"/>
            <add value="FF D8 FF E0 00 10 4A 46 49 46 00 01"/>
            <add value="FF D8 FF EE"/>
            <add value="FF D8 FF E1 ?? ?? 45 78 69 66 00 00"/>
          </hexSignatures>
        </add>
        <add extension=".msg">
          <hexSignatures>
            <add value="D0 CF 11 E0 A1 B1 1A E1"/>
          </hexSignatures>
        </add>
        <add extension=".png">
          <hexSignatures>
            <add value="89 50 4E 47 0D 0A 1A 0A"/>
          </hexSignatures>
        </add>
        <add extension=".pdf">
          <hexSignatures>
            <add value="25 50 44 46 2d"/>
          </hexSignatures>
        </add>
        <add extension=".pptx">
          <hexSignatures>
            <add value="50 4B 03 04"/>
            <add value="50 4B 05 06"/>
            <add value="50 4B 07 08"/>
          </hexSignatures>
        </add>
        <add extension=".txt">
          <hexSignatures>
            <add value="??"/>
          </hexSignatures>
        </add>
        <add extension=".xls">
          <hexSignatures>
            <add value="D0 CF 11 E0 A1 B1 1A E1"/>
          </hexSignatures>
        </add>
        <add extension=".xlsx">
          <hexSignatures>
            <add value="50 4B 03 04"/>
            <add value="50 4B 05 06"/>
            <add value="50 4B 07 08"/>
          </hexSignatures>
        </add>
        <add extension=".zip">
          <hexSignatures>
            <add value="50 4B 03 04"/>
            <add value="50 4B 05 06"/>
            <add value="50 4B 07 08"/>
          </hexSignatures>
        </add>
      </fileSignatures>
    </mimeTypeValidation>
  </kodision.tripleforms>
</configuration>


Opvragen van hex signature van een bestand via power shell

Met de Format-Hex funcie van PowerShell kan de hex en ASCII waarde van een bestand worden getoond


Het commando: Format-Hex [filename] | Select-Object -First 1


Door gebruik te maken van Select-Object en daarbij aangeven dat de eerste regel getoond moet worden , zien we de signature van het bestand verschijnen


Voorbeeld:

In dit voorbeeld zien we de hex signature van een pdf terugkomen: 25 50 44 46 2D

Was dit artikel nuttig?

Dat is fantastisch!

Hartelijk dank voor uw beoordeling

Sorry dat we u niet konden helpen

Hartelijk dank voor uw beoordeling

Laat ons weten hoe we dit artikel kunnen verbeteren!

Selecteer tenminste een van de redenen

Feedback verzonden

We stellen uw moeite op prijs en zullen proberen het artikel te verbeteren