logó WEBFEJLESZTÉS, WEBÁRUHÁZ KÉSZÍTÉS
Ingyenes elektronikus tananyag interaktív weboldalak készítéséhez.
visszaVISSZA   
menüMENÜ   

Korlátozás fájltípus alapján



Ha nem korlátozzuk a feltölthető fájltípusokat, akkor a felhasználók véletlenül vagy szándékosan oda nem illő fájlokkal árasztják el szerverünket. Képek helyett dokumentumokat vagy futtatható fájlokat is kaphatunk, ami sok szempontból veszélyes.

Fontos!

  • A fájl típusának és kiterjesztésének vizsgálatát célszerű együtt használni.

A fájl típusát a $_FILES globális PHP tömbben találjuk: $_FILES["file"]["type"] . Ezt hasonlítjuk össze az engedélyezni kívánt fájltípusokkal.


1. példa:

Képek feltöltése


 
<?php
  //csak képek
  if  (($_FILES["file"]["type"]=="image/gif")
    || ($_FILES["file"]["type"]=="image/jpeg")
    || ($_FILES["file"]["type"]=="image/jpg")
    || ($_FILES["file"]["type"]=="image/pjpeg")
    || ($_FILES["file"]["type"]=="image/x-png")
    || ($_FILES["file"]["type"]=="image/png")) {
    if ($_FILES["file"]["error"] > 0) {
      echo "Hiba: ".$_FILES["file"]["error"];
    } else {
      ...
      //Feltöltött fájl elmentése
      ...
    }
  } else {
    echo "Nem megfelelő fájl.";
  }
?>
 



2. példa:

Dokumentumok feltöltése


 
<?php
  //csak dokumentumok
  if (($_FILES["file"]["type"]=="application/msword")
    || ($_FILES["file"]["type"]=="application/excel")    
    || ($_FILES["file"]["type"]=="application/vnd.ms-excel")
    || ($_FILES["file"]["type"]=="application/x-msexcel")
    || ($_FILES["file"]["type"]=="application/x-excel")    
    || ($_FILES["file"]["type"]=="application/vnd.openxmlformats-officedocument.wordprocessingml.document")
    || ($_FILES["file"]["type"]=="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
    || ($_FILES["file"]["type"]=="application/pdf")
    || ($_FILES["file"]["type"]=="application/vnd.ms-powerpoint")
    || ($_FILES["file"]["type"]=="application/vnd.openxmlformats-officedocument.presentationml.presentation")
    || ($_FILES["file"]["type"]=="application/vnd.openxmlformats-officedocument.presentationml.slideshow")
    || ($_FILES["file"]["type"]=="application/zip")) {
    if ($_FILES["file"]["error"] > 0) {
      echo "Hiba: ".$_FILES["file"]["error"];
    } else {
      ...
      //Feltöltött fájl elmentése
      ...
    }
  } else {
    echo "Nem megfelelő fájl.";
  }
?>
 




Ahogy a legtöbb honlap, ez a webhely is használ sütiket a weboldalain.