Kezdőoldal » Számítástechnika » Weblapkészítés » File feltöltés korlátozása...

File feltöltés korlátozása milyen módon?

Figyelt kérdés

Van ez a script, és az a probléma hogy csak képet lehet vele feltölteni és nem tudom hogy hogyan lehetne pl exe fileokat feltölteni, mert nem engedte átírni a kiterjesztéseket.

Meg jó lenne egy hiba generálása ha pl 2mb-nál nagyobb a file amit fel akar tölteni a felhsználó.

<html>

<head>

<title>Feltöltés</title>

</head>

<body>

<?php

if ((($_FILES["file"]["type"] == "image/png")

|| ($_FILES["file"]["type"] == "image/gif")

|| ($_FILES["file"]["type"] == "image/jpeg"))

&& ($_FILES["file"]["size"] < 10000000000000))

{

if ($_FILES["file"]["error"] > 0)

{

echo "Return Code: " . $_FILES["file"]["error"] . "<br />";

}

else

{

echo "Feltöltött fájl neve: " . $_FILES["file"]["name"] . "<br />";

echo "Kiterjesztése: " . $_FILES["file"]["type"] . "<br />";

echo "Mérete: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";

echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";


if (file_exists("upload/" . $_FILES["file"]["name"]))

{

echo $_FILES["file"]["name"] . " Ez a fájl már fent van az oldalon, de azért köszi. ";

}

else

{

move_uploaded_file($_FILES["file"]["tmp_name"],

"tmp/" . $_FILES["file"]["name"]);

echo "Feltöltés sikeres, tárolva a következő helyen: " . "upload/" . $_FILES["file"]["name"];

}

}

}

else

{

echo "Nem megfelelő a kiterjesztés.";

}

?>

</body>

</html>



2012. jún. 6. 20:49
 1/7 zsomkovacs ***** válasza:
Csak exe fájlokat lehessen feltölteni, vagy általában bármit? 2 megás fájlokhoz meg szedd szét az első if-et, legyen külön a file size-os rész, az 1000000-t írd át 2097152-re, és ennek az if-nek az else ágába rakhatod a hibát.
2012. jún. 6. 21:16
Hasznos számodra ez a válasz?
 2/7 A kérdező kommentje:
exe, dll stb. többféle file típus
2012. jún. 6. 21:58
 3/7 anonim ***** válasza:
így van ahogy írták a méret korlátozása fa exe fájlt akarsz akkor a $_FILE szuper globális változóban ahol nézed hogy az éppen aktuális fájl típust mi lehet (ahol most image/png, stb van) oda írd be 'file/exe' ha exe fájlt akarsz engedélyezni, és így tovább az összes fájltípusra így már megtalálod a neten is mikor mit kell írni az ellenörzésnél.
2012. jún. 6. 22:10
Hasznos számodra ez a válasz?
 4/7 A kérdező kommentje:
Nem engedi.
2012. jún. 6. 22:20
 5/7 zsomkovacs ***** válasza:
Miért nem? Mit ír ki?
2012. jún. 6. 23:09
Hasznos számodra ez a válasz?
 6/7 anonim ***** válasza:

Előre szólok, mielőtt készen lennél, ez a fájltípus vizsgálat nem sokat ér!


A rendszer a mimetype-ot nézi, amit nagyon könnyű átverni!

Jobban járnál egy kiterjesztés vizsgálattal, vagy azzal, ha a feltöltéskor átneveznéd a fájlokat és egy saját scripttel tennéd elérhetővé.


Tehát például minden feltöltéskor a fájl nevét random generált hash-re cserélnéd és egy adatbázisban eltárolnád az eredeti nevét, vagy valamilyen azonosítót.

A felhasználóknak pedig CSAK az azonosítót/eredeti nevet mutatnád. A letöltő scriptben könnyedén el lehet fedni a fizikai nevet! -> Sokkal biztonságosabb, mert nagyon kicsi rá az esély, hogy valaki miután feltett egy fájlt megtalálja a fizikai helyét és futtassa.

(Illetve akár szerver beállítással el lehet érni, hogy az uploadsból közvetlen semmit ne lehessen megnyitni.)



Ezeket gondold át, szívesen segítek kicsit kipofozni, illetve ha küldesz kódot, megmondom hol lehetne javítani rajta.

(Nem egy feltöltő oldalon könnyedén ki lehet játszani a rendszert és fel lehet tenni php kódokat. Ha pedig ezen kívül még rossz a konfig a szerveren, vagy lusta volt a rendszergazda, akkor akár a teljes gép felett meg lehet szerezni az uralmat.)

2012. jún. 7. 00:06
Hasznos számodra ez a válasz?
 7/7 A kérdező kommentje:
Azt írja ki hogy "Nem megfelelő a kiterjesztés." amit a hibaüzenet tartalmaz.
2012. jún. 7. 13:51

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!