Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Zabezpieczenie pliku / pola / strony
Forum PHP.pl > Forum > Przedszkole
armind
mam takie cos:
Tzn zmiana / wgrywanie avatara:
chciał bym go troche zabezpieczyc ale nie potrafie:

Kod
<?

function imggda($ust){

//---------USTAWIENIA-POCZATEK---------

$folder="upload/user/"; //Adres folderu z fotkami

$xd=300; //Maksymalna szerokosc duzej fotki

$s_min = 110; //Szerokosc miniaturki

$m_jakos=100; //Jakos miniaturki

$d_jakos=100; //Jakos duzej fotki

$m_przed="user_"; //Przedrostek miniaturek

$d_przed="d_"; //Przedrostek duzych

//---------USTAWIENIA-KONIEC---------

$plik_tmp = $_FILES['plik1']['tmp_name'];
$plik_nazwa = $_FILES['plik1']['name'];
$plik_rozmiar = $_FILES['plik1']['size'];

if($plik_rozmiar>="5242880"){echo"Klopoty z rozmiarem pliku.";exit();}

if($plik_tmp!="")
{

$sp = explode(".",$plik_nazwa); //wyciaganie rozszerzenia

srand();

$l = rand(100,999); // Losowanie Liczby

$name2x = time() * $l; //Generowanie Nazwy czas * liczba

$namenowa = "$name2x.$sp[1]"; //Nowa nazwa z rozszerzeniem

//Upload fotek

if($sp[1] == "jpg" or $sp[1]== "jpeg" or $sp[1] == "JPG" or $sp[1]== "JPEG" or $sp[1] == "gif" or $sp[1] == "GIF" or $sp[1] == "png" or $sp[1] == "PNG")
{

if(is_uploaded_file($plik_tmp))
{

    move_uploaded_file($plik_tmp, "".$folder."".$d_przed."".$namenowa."");
    chmod("".$folder."d_".$namenowa."", 0644);
}

}else{echo"Klopoty z poprawnoscia pliku.";exit();}

//---------POCZATEK-JPG---------
if($sp[1] == "jpg" or $sp[1]== "jpeg" or $sp[1] == "JPG" or $sp[1]== "JPEG")
{
    header("Content-type: image/jpeg");
    $org = imagecreatefromjpeg("".$folder."".$d_przed."".$namenowa."");
    $s_org = imagesx($org);
    $w_org = imagesy($org);
    if(($w_min = floor(($s_min * $w_org) / $s_org)) > 150) $w_min = 150;
    $min = ImageCreateTrueColor($s_min, $w_min);
    imagecopyresampled($min, $org, 0, 0, 0, 0, $s_min, $w_min, $s_org, $w_org);

    imagejpeg($min,"".$folder."".$m_przed."".$namenowa."", $m_jakos);


    if($s_org >= ($xd+1))
    {
       if(($w_big = floor(($xd * $w_org) / $s_org)) > 648) $w_big = 648;
       $big = ImageCreateTrueColor($xd, $w_big);
       imagecopyresampled($big, $org, 0, 0, 0, 0, $xd, $w_big, $s_org, $w_org);
  
       imagejpeg($big,"".$folder."".$d_przed."".$namenowa."", $d_jakos);
    }

}
//---------KONIEC-JPG---------

//---------POCZATEK-GIF---------
else if($sp[1] == "gif" or $sp[1] == "GIF")
{
    header("Content-type: image/gif");
    $org = imagecreatefromgif("".$folder."".$d_przed."".$namenowa."");
    $s_org = imagesx($org);
    $w_org = imagesy($org);
    if(($w_min = floor(($s_min * $w_org) / $s_org)) > 150) $w_big = 150;
    $min = ImageCreateTrueColor($s_min, $w_min);
    imagecopyresampled($min, $org, 0, 0, 0, 0, $s_min, $w_min, $s_org, $w_org);

    imagegif($min,"".$folder."".$m_przed."".$namenowa."", $m_jakos);


    if($s_org >= ($xd+1))
    {
       if(($w_big = floor(($xd * $w_org) / $s_org)) > 648) $w_big = 648;
       $big = ImageCreateTrueColor($xd, $w_big);
       imagecopyresampled($big, $org, 0, 0, 0, 0, $xd, $w_big, $s_org, $w_org);
  
       imagegif($big,"".$folder."".$d_przed."".$namenowa."", $d_jakos);
    }

}
//---------KONIEC-GIF---------

//---------POCZATEK-PNG---------
else if($sp[1] == "png" or $sp[1] == "PNG")
{
    header("Content-type: image/png");
    $org = imagecreatefrompng("".$folder."".$d_przed."".$namenowa."");
    $s_org = imagesx($org);
    $w_org = imagesy($org);
    if(($w_min = floor(($s_min * $w_org) / $s_org)) > 150) $w_big = 150;
    $min = ImageCreateTrueColor($s_min, $w_min);
    imagecopyresampled($min, $org, 0, 0, 0, 0, $s_min, $w_min, $s_org, $w_org);

    imagepng($min,"".$folder."".$m_przed."".$namenowa."", $m_jakos);


    if($s_org >= ($xd+1))
    {
       if(($w_big = floor(($xd * $w_org) / $s_org)) > 648) $w_big = 648;
       $big = ImageCreateTrueColor($xd, $w_big);
       imagecopyresampled($big, $org, 0, 0, 0, 0, $xd, $w_big, $s_org, $w_org);
  
       imagepng($big,"".$folder."".$d_przed."".$namenowa."", $d_jakos);
    }

}
//---------KONIEC-PNG---------
else
{
header("Location: ".$ust['adres']."panel/6");
exit();
}

$fotm = $m_przed."".$namenowa;
$fotd = $d_przed."".$namenowa;

return $fotm;


   }

}

?>
b4rt3kk
Przed czym chciałbyś go zabezpieczyć?
armind
sprzed typu shell lub inne typu akcje ktore wystepuja...sam wiem bo sie kiedys w ten sposob wlamalem...
b4rt3kk
Tak więc sprawdź:
- rozszerzenie pliku (czy dozwolone?)
- czy plik rzeczywiście jest obrazkiem
armind
nie przechodzi tzn ze dziala ok
ale trzeba chyba zmodyfikowac bo ten skrypt ma 2 lata

anie, przeprasza,, jednak przechodza skrypty przerobione na jpg

ale nie widze na serwerze...
b4rt3kk
Więc w czym problem konkretnie? Jeśli trzeba przerobić, to przerabiaj skrypt lub zadaj precyzyjnie pytanie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.