Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: ominac feralny upload ...
Forum PHP.pl > Forum > PHP
invx
nie wiem co tu moze nie dzialac:
plik pokaz_emblemat.php
  1. <?php
  2. function pokaz_emblemat ()
  3. {
  4.     // Ladowanie skrypty JavaScripts potrzebnego do otwierania okienek pomocy
  5.     echo&#092;"
  6.     <script language=&#092;"JavaScript\">
  7.     <!--
  8.     function show(prm)
  9.     {
  10.       url = &#092;"\" +prm;
  11.       params = &#092;"width=200 height=150 toolbar=0, location=0, directories=0, status=0, border
    =
  12. , scrollbars=1, menubar=0, resizable=0\";
  13.       db = window.open(url, \"okienko\" , params);
  14.       db.focus();
  15.     }
  16.     //-->
  17.     </script>
  18.     \";
  19.     echo\"
  20.     $thefile <br>
  21.     $thefile_name <br>
  22.     $thefile_size     <br>
  23.     $thefile_type         <br>
  24.     \";
  25.     if ( $_POST[emblemat_usun] != ON )
  26.     {
  27.  
  28.         if (isset($_POST['emblemat_hdd']))
  29.         {
  30.  
  31.             if( empty($_POST['emblemat_hdd']) )
  32.             {
  33.                 $emblemat_hdd=1;
  34.             }
  35.  
  36.             if( empty($_POST['emblemat_url']) )
  37.             {
  38.                 $emblemat_url=1;
  39.             }
  40.  
  41.             if ( $emblemat_hdd != 1 && $emblemat_url != 1 )
  42.             {
  43.                 $emblemat_hdd=1;
  44.                 $emblemat_url=1;
  45.             }
  46.  
  47.         }
  48.  
  49.  
  50.         if (!isset($_POST['emblemat_hdd']) || ( $emblemat_hdd != 1 && $emblemat_url != 1 ) || ( $emblemat_hdd == 1 || $emblemat_url == 1 ) )
  51.         {
  52.             $action=\"edycja_profil.php?mode=pokaz_emblemat&m=spr\";
  53.         }
  54.  
  55.         if ( isset($_POST['emblemat_hdd']) && ( $emblemat_hdd !== 1 || $emblemat_url !== 1 ) && ( $emblemat_hdd == 1 || $emblemat_url == 1 ) )
  56.         {
  57.             session_start();
  58.             $_SESSION['emblemat_hdd_name']=$emblemat_hdd_type;
  59.  
  60.             $_SESSION['emblemat_url']=$_POST['emblemat_url'];
  61.             $_SESSION['emblemat_url']=$_POST['emblemat_url'];
  62.             $_SESSION['emblemat_url']=$_POST['emblemat_url'];
  63.             $_SESSION['emblemat_url']=$_POST['emblemat_url'];
  64.  
  65.             header(\"Location: edycja_profil.php?mode=zapis_emblemat\");
  66.             exit();
  67.         }
  68.     }
  69.     elseif ( $_POST[emblemat_usun] == ON )
  70.     {
  71.         $_SESSION['usun']=1;
  72.         header(\"Location: edycja_profil.php?mode=zapis_emblemat\");
  73.         exit();
  74.     }
  75.  
  76.     $sql = \"SELECT * FROM users WHERE login='$_SESSION[log]' LIMIT 1\";
  77.     $wykonaj = mysql_query ( $sql );
  78.     $users_emblemat = mysql_fetch_array ( $wykonaj );
  79.     echo\"
  80.     <center>
  81.     <img src='./emblematy/$users_emblemat[emblemat]'></img>
  82.     <table width='745'>
  83.     <center>
  84.     \";
  85.  
  86.     if ( isset($_GET[m]) )
  87.     {
  88.         if ( $emblemat_hdd == 1 )
  89.         {
  90.             $clas=\"form_error\";
  91.         }
  92.         else
  93.         {
  94.             $clas=\"form\";
  95.         }
  96.     }
  97.     else
  98.     {
  99.         $clas=\"form\";
  100.     }
  101.  
  102.     echo\"
  103.     <tr class='$clas'>
  104.     <form enctype='multipart/form-data' method='POST' action='$action'>
  105.     <input type='hidden' name='MAX_FILE_SIZE' value='1000000'>
  106.     <td align='right'>Emblemat z Twojego dysku:
  107.     </td>
  108.     <td colspan='2'> <input type='file' name='userfile' size='20'></br>
  109.     </td>
  110.     \";
  111.  
  112.     if ( isset($_GET[m]) )
  113.     {
  114.         if ( $emblemat_url == 1 )
  115.         {
  116.             $clas=\"form_error\";
  117.         }
  118.         else
  119.         {
  120.             $clas=\"form\";
  121.         }
  122.     }
  123.     else
  124.     {
  125.         $clas=\"form\";
  126.     }
  127.  
  128.     echo\"
  129.     </tr>
  130.     <tr class='$clas'>
  131.     <td align='right'>Emblemat z zewnetrznego URL:
  132.     </td>
  133.     <td colspan='2'> <input type='text' value='$_POST[emblemat_url]' name='emblemat_url' size='20'></br>
  134.     </td>
  135.     </tr>
  136.     <tr class='form'>
  137.     <td align='right'>Emblemat z Galerii:</br></br>
  138.     </td>
  139.     <td colspan='2'><a href=''>  Pokaż galerie</a></br></br>
  140.     </td>
  141.     </tr>
  142.     <tr class='form'>
  143.     <td align='right'>Usuń Emblemat:</br></br>
  144.     </td>
  145.     <td colspan='2'><input name='emblemat_usun' type='checkbox' value='ON'></br></br>
  146.     </td>
  147.     </tr>
  148.     <tr class='form'>
  149.     <td align='right'>
  150.     </td>
  151.     <td colspan='2'> <input type='submit' value='wyślj' name='s1' size='20'></br>
  152.     </td>
  153.     </tr>
  154.  
  155.  
  156.  
  157.     </table>
  158.     </center>
  159.     \";
  160.  
  161. }
  162. ?>


plik zapis_emblemat.php
  1. <?php
  2.  
  3. function pokaz_emblemat ()
  4. {
  5.  
  6.   // $userfile - miejsce tymczasowej lokalizacji pliku na serwerze WWW
  7.   $userfile = $HTTP_POST_FILES['userfile']['tmp_name'];
  8.   // $userfile_name - nazwa pliku w systemie użytkownika
  9.   $userfile_name = $HTTP_POST_FILES['userfile']['name'];
  10.   // $userfile_size - wielkość pliku w bajtach
  11.   $userfile_size = $HTTP_POST_FILES['userfile']['size'];
  12.   // $userfile_type - typ pliku w systemie MIME, np. image/gif
  13.   $userfile_type = $HTTP_POST_FILES['userfile']['type'];
  14.   // $userfile_error - kod błędu związanego z wysyłaniem pliku
  15.   $userfile_error = $HTTP_POST_FILES['userfile']['error'];
  16. // userfile_error został dodany do php 4.2.0
  17. // ten kod można stosować z nowszymi wersjami
  18.  
  19.   if ($userfile_error > 0)
  20.   {
  21.     echo 'Problem: ';
  22.     switch ($userfile_error)
  23.     {
  24.       case 1: echo 'Rozmiar pliku przekroczył wartość upload_max_filesize'; break;
  25.       case 2: echo 'Rozmiar pliku przekroczył wartość max_file_size'; break;
  26.       case 3: echo 'Plik wysłany tylko częściowo'; break;
  27.       case 4: echo 'Nie wysłano żadnego pliku'; break;
  28.     }
  29.     exit;
  30.   }
  31.  
  32.  
  33. // umieszczenie pliku w pożądanej lokalizacji
  34.   $lokalizacja = 'wyslane/'.$userfile_name;
  35.  
  36. // is_uploaded_file and move_uploaded_file dodane w wersji 4.0.3
  37.   if (is_uploaded_file($userfile))
  38.   {
  39.      if (!move_uploaded_file($userfile, $lokalizacja))
  40.      {
  41.         echo 'Problem: Plik nie może być skopiowany do katalogu';
  42.         exit;
  43.      }
  44.   }
  45.   else
  46.   {
  47.     echo 'Problem: możliwy atak podczas wysyłania pliku. Nazwa pliku: '.$userfile_name;
  48.     exit;
  49.   }
  50.  
  51.  
  52.   echo 'Plik wysłany<br /><br />';
  53.  
  54.  
  55. }
  56.  
  57.  
  58. ?>


caly czas wywala 'Problem: możliwy atak podczas wysyłania pliku
invx
ok, problem w tym ze ja nie wiem czego te konkretny kod nie dziala, niby wszytsko ok, a nie dziala
Imperior
1. Czemu obie funkcje tak samo się nazywają?
2. Użyj tablicy superglobalnej $_FILES.
invx
to samo z $_FILES
Imperior
Masz wogóle możliwość uploadowania?
invx
mam zainstalowanego krasnala na localhoscie, wiec raczej mam mozliwosc, a u was dziala te kod questionmark.gif
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.