Avatar billede Bergsorensen Nybegynder
10. februar 2009 - 10:58 Der er 2 kommentarer og
1 løsning

Upload script - kodeord

Jeg har nedenstående script så jeg kan uploade visse filer til min webserver gennem http. Jeg har dog oplevet en smule misbrug (newsd.php.rar hack), hvorfor jeg gerne vil have en kodeordssikring på.

Er der nogen der quick-and-dirty kan hjælpe med dette?

pft

Kasper


nuværnde kode:



<?php
$uploadDir = 'filer/upload/'; //Bibliotek hvor filer uploades til - husk chmod 777
$allowedFileTypes = array('jpg','gif','png','rar','zip','mp3'); //Hvilke filer vil vi acceptere bliver uploadet?

//Er der trykket på Upload file knappen?
if(isset($_POST['myUpload']))
{
  //Har vi en fil?
  if(is_uploaded_file($_FILES['myFile']['tmp_name']))
  {
    //Filendelse
    $extension = strtolower(pathinfo($_FILES['myFile']['name'],PATHINFO_EXTENSION));
   
    //Er filen en af de filer vi gerne vil have?
    if(in_array($extension,$allowedFileTypes))
    {
      //Vi flytter filen fra tmp til vores UPLOADDIR
      if(move_uploaded_file($_FILES['myFile']['tmp_name'],$uploadDir . basename($_FILES['myFile']['name'])))
      {
        echo 'Filen ('.basename($_FILES['myFile']['name']).') blev uploaded</h3>';
      }
      else
      {
        echo 'Ikke muligt at uploade filen: '.basename($_FILES['myFile']['name']).'</h3>';
      }
    }
    else
    {
      echo 'Ikke tilladt filtype: ('.implode(',',$allowedFileTypes).')</h3>';
    }
  }
  else
  {
    echo 'Vælg en fil<h3>';
  }
}
echo '<form action="upload.php" method="post" enctype="multipart/form-data">';
echo '<input type="file" name="myFile"><br /><br /> Tilladte filtyper: ('.implode(',',$allowedFileTypes).')<br /><br /><br />';
echo '<input type="submit" name="myUpload" value="Upload fil">';
echo '</form>';
?>
Avatar billede Bergsorensen Nybegynder
10. februar 2009 - 13:05 #1
Bump.. anyone ? pew pew
Avatar billede Bergsorensen Nybegynder
13. februar 2009 - 13:32 #2
bump
Avatar billede apocs Nybegynder
22. februar 2009 - 11:14 #3
<?php
$uploadDir = 'filer/upload/'; //Bibliotek hvor filer uploades til - husk chmod 777
$allowedFileTypes = array('jpg','gif','png','rar','zip','mp3'); //Hvilke filer vil vi acceptere bliver uploadet?
$prePass = "MitPass";

//Er der trykket på Upload file knappen?
if(isset($_POST['myUpload']))
{
    //Check pass
    if($_POST['pass'] != "" AND $_POST['pass'] == $prePass){
        //Har vi en fil?
        if(is_uploaded_file($_FILES['myFile']['tmp_name']))
        {
        //Filendelse
        $extension = strtolower(pathinfo($_FILES['myFile']['name'],PATHINFO_EXTENSION));
       
            //Er filen en af de filer vi gerne vil have?
            if(in_array($extension,$allowedFileTypes))
            {
                  //Vi flytter filen fra tmp til vores UPLOADDIR
                  if(move_uploaded_file($_FILES['myFile']['tmp_name'],$uploadDir . basename($_FILES['myFile']['name'])))
                  {
                    echo 'Filen ('.basename($_FILES['myFile']['name']).') blev uploaded</h3>';
                  }
                  else
                  {
                    echo 'Ikke muligt at uploade filen: '.basename($_FILES['myFile']['name']).'</h3>';
                  }
            }
            else
            {
              echo 'Ikke tilladt filtype: ('.implode(',',$allowedFileTypes).')</h3>';
            }
        }
    }
    else
    {
    echo 'Vælg en fil<h3>';
    }
}
echo '<form action="upload.php" method="post" enctype="multipart/form-data">';
echo '<input type="file" name="myFile"><br /><br /> Tilladte filtyper: ('.implode(',',$allowedFileTypes).')<br /><br /><br />';
echo '<input type="password" name="pass" />';
echo '<input type="submit" name="myUpload" value="Upload fil">';
echo '</form>';
?>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester