Avatar billede bb_maze Nybegynder
05. juni 2004 - 23:24 Der er 4 kommentarer og
1 løsning

Upload script

Hejsa

Jeg kan starte med at jeg ikke kan finde ud af ASP, men med hensyn til PHP så er jeg ikke helt tabt :D

Jeg fik fat i et upload script skrevet i php, dette skulle jeg bruge som asp i stedet, og fandt så en konverter på det store internet.

Den fik følgende kode:
---------------
<%
Dim gv_user_password, gv_site_name, gv__SERVER(), gv_message, gv__COOKIE(), gv_form_password, gv_url_dir, gv_pos, gv_handle, gv_html, gv_fil, gv_upload_dir, gv_admin_password

%><head>
<style>
A:link {text-decoration: none; font-family:verdana; color: #000000}
A:visited {text-decoration: none; font-family:verdana; color: #000000}
A:active {text-decoration: none; font-family:verdana; color: #9CA6BD}
A:hover {text-decoration: none; color: #6B7A9C}
table {font-family:verdan; font-size: 8pt; color: #000000}
body {font-family:verdana; font-size: 8pt; color: #000000}
</style>
<title>.:: Upit.dk ::. - Keep it Simple and keep the dices rolling v2</title></head>
<%
' -- Bruger indstillinger
gv_user_password  = "test"
' Brugernavn
    $admin_password  = "adminpass"
    ' Password
    gv_site_name  = gv__SERVER("HTTP_HOST")
    $message  = ""
    ' gv_message = "cookie_password = ".gv__COOKIE('upload_password'). "<br>";
    If !gv_form_password then
   
  gv_form_password = gv__COOKIE("upload_password") ;
   
  End If
    $upload_dir  = "/customers/upit.dk/upit.dk/httpd.www/upload/"
    ' stien til din server
    gv_url_dir  = "http://www.upit.dk" & $_SERVER["HTTP_HOST"] & dirname($_SERVER["PHP_SELF"])
    ' upit.dk bør i dit tilfælde nok byttes ud med tanxmann.com
    $url_this  = "http://www.upit.dk" & gv__SERVER("HTTP_HOST") & $_SERVER["PHP_SELF"]
    ' det sammen som ovenstående
    $upload_url  = $url_dir & "/upload/"
    ' mappen der uploades til
    ' gv_message .= "form_password = gv_form_password <br>";
    ' $message .= "upload_files = ".$_COOKIE['upload_files'] ."<br>";
    If $form_password==$user_password || $form_password==$admin_password then
   
  If $upload then
    $message  & = do_upload($upload_dir, $upload_url);
   
  End If


If $delete then
    If unlink($upload_dir & $delete) then
        $message  = $message  &  "Filen " & delete & " er blevet slettet!"
        gv_pos  = InStr ( gv__COOKIE("upload_files") , $delete  )-1
        ' $message .= "delete=$delete<br>";
        ' gv_message .= "pos=gv_pos<br>";
        ' $message .= "1st=".substr(gv__COOKIE('upload_files'),0,$pos)."<br>";
        ' gv_message .= "2nd=".substr($_COOKIE['upload_files'],$pos+strlen($delete)+1)."<br>";
        $new_cookie  = substr($_COOKIE["upload_files"],0,$pos) & "" & 
        substr(gv__COOKIE("upload_files"),$pos+Length ( $delete )+1)
        setcookie('upload_files',$new_cookie);
End If

Else
    $message  = $message  &  ""
End If

Function fn_do_upload ( lv_upload_dir, lv_upload_url )

    Dim lv_upload_dir, lv_upload_url, lv__FILES(), lv_message, lv_new_file_name, lv_file_name, lv_ver, lv_file_path, lv_file_url, lv_temp_name, lv_file_type, lv_file_size
        If is_uploaded_file(lv__FILES("userfile")["tmp_name"]) then
        $temp_name  = $_FILES["userfile"]["tmp_name"]
        $file_name  = $_FILES["userfile"]["name"]
        $file_type  = $_FILES["userfile"]["type"]
        $file_size  = $_FILES["userfile"]["size"]
        $result  = $_FILES["userfile"]["error"]
        $max_size  = $_REQUEST["MAX_FILE_SIZE"]
        $file_url  = $upload_url & $file_name
        $file_path  = $upload_dir & $file_name
        If $file_size > $max_size then
            $message  = $message  &  "Filen fylder mere end " & max_size & " & "
            fn_do_upload = $message
        End If

' Fluii start (de tilladet filtyper)
        $filetyper  = Array ( "image/gif", "image/bmp", "image/jpg", "image/jpeg", "image/pjpeg", "image/png" )
        If !in_array($file_type, $filetyper) then
            $message  = $message  &  "Filen-typen er ikke tilladt !"
            fn_do_upload = lv_message
        End If

' Fluii slut
        lv_new_file_name = lv_file_name
        lv_ver = 1
        Do While file_exists(lv_file_path)
            lv_ver = lv_ver + 1
            lv_new_file_name  = lv_file_name & "[" & $ver & "]"
            lv_file_path  = lv_upload_dir & lv_new_file_name
            lv_file_url  = lv_upload_url & lv_new_file_name
        Loop

If move_uploaded_file(lv_temp_name, lv_file_path)  then
            lv_message  = lv_message  &  "
           
            <br>
            <br>
            Fil Navn : " & file_name & " <br>
            Fil Type : lv_file_type <br>
            Fil Størrelse : lv_file_size byte<br>
            "
        End If

Else
        If lv_file_name == "" then
            $message  = $message  &  "Ugyldig fil-navn"
            fn_do_upload = lv_message
        End If

else lv_message  = lv_message  &  " Possible file upload attack: filename" & $real_name
    End If

fn_do_upload = $message
End Function

Function fn_display_files ( $upload_dir,$form_password, $admin_password )

    Dim lv_handle, lv_upload_dir, lv_files_arr, lv__COOKIE(), lv_file, lv_delete_url, lv_url_this, lv_count, lv_html, lv_file_size, lv_form_password, lv_admin_password
        $upload_url  = $url_dir & "/upload/"
    If lv_handle = opendir(lv_upload_dir) then
   
;
   
Else
   
fn_display_files = "ERROR: Cannot Open Directory " & upload_dir & ""
    End If
    $html  = ""
    lv_files_arr  = split ( lv__COOKIE("upload_files")  , ":" )
    Do While false !== (lv_file = readdir(lv_handle)
   
) {
   
    lv_delete_url = lv_url_this & "?delete=" & $file;
   
Loop
    If $file ==".." || $file=="." then
   
;
   
Else
   
{
    $count = $count+1;
   
End If
    If $count==4 then
        $html  = $html  &  "</tr>"
        lv_count  = 1
    End If

If lv_count==1 then
        lv_html  = lv_html  &  "<tr>"
    End If

$html  = $html  &  "<td align=center><a href="" & upload_url & """ & upload_urlfile & """ target="about_blank">" & upload_urlfilefile & "</a></td>"
    ' $html .= "$file, $files_arr,  $file_size $form_password, $admin_password <br>";
    If in_array( lv_file , lv_files_arr, lv_file_size ) || lv_form_password == lv_admin_password  then
   
lv_html  & = "<td><a href="" & delete_url & """>Delete</a></td>";
   
Else
   
$html  & = "<td> </td>";
   
End If
End Function


closedir(gv_handle);

fn_display_files = gv_html


' gv_fil er filnavnet
    If strrev(substr(strrev(gv_fil),0,4 then
   
  ) == ".php" || strrev(substr(strrev($fil),0,4)) == ".asp"){
    Response.Write "tsk, tsk - ikke uploade farlige filer  "
      End If
    exit


%>

<body>
<table align=center border=0>
<tr><td align=center>
</td></tr>
<tr><td>

<form ENCTYPE="multipart/form-data" method="post" action="upload.php">
<table width=100%>
<tr><td>
          <p>
            <input type="hidden" name="MAX_FILE_SIZE" value="1000000">
            <input type="hidden" name="form_password" size="10" value="test">
          </p>
          <p>Regler p&aring; UpIt.dk</p>
          <p>1) Brug filnavne der beskriver hvad filen er eller ligne<br>
            2) Upload <b>ikke</b> copyright indhold<br>
            3) Upload <b>ikke</b> ulovligt matriale<br>
            4) Upload <b>ikke</b> virus eller andet skadelig stuff<br>
            5) Upload <b>ikke</b> pornografisk indhold<br>
          <p><br>
            Upload En Fil:
            <input type="file" name="userfile" SIZE="25">
          </p>
        </td></tr>
<tr><td align=center>
<input type="submit" name="upload" value=" Upload ">
<input type="submit" name="refresh" value=" Opdater "></td></tr>
<tr><td><%
=gv_message?></tr></tr>
</table></form></td></tr><tr><td><table width=100%><tr><td align=center><b>Uploadede Filer:</b></td></tr><table width=100%><tr><br><td align="center"><%
=display_files(gv_upload_dir,gv_form_password, gv_admin_password)?></td></tr>
</table></td></tr></table></body>
---------------

Problemet er bare at jeg ikke kan få det til at virke. Er der en der kan finde fejlen?

På forhånd tak :)

Hygge
Avatar billede ellebaek Nybegynder
05. juni 2004 - 23:49 #1
hmm...

Jeg synes ikke rigtig din kode ser så god ud, der er mange ting i den der gør den lidt spøjs ;-)

Vil anbefale dig at bruge fx. der her script: http://activedeveloper.dk/download/default.asp?mode=showdownload&id=430 i stedet..

Det er rimelig lige til at gå til ;-)
Avatar billede bb_maze Nybegynder
06. juni 2004 - 00:00 #2
Takker.. Vil jeg kigge på.

Hygge
Avatar billede ellebaek Nybegynder
11. juni 2004 - 12:45 #3
hej bb... Fandt du ud af noget..?
Avatar billede bb_maze Nybegynder
13. juni 2004 - 22:11 #4
Undskyld, havde helt glemt det. Men det ser ud til det kan bruges, så smid du bare et svar ;)

Hygge
Avatar billede ellebaek Nybegynder
13. juni 2004 - 22:14 #5
Jeg smider et svar ;-)
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

Seneste spørgsmål Seneste aktivitet
I dag 10:21 Ny printer, men hvilken Af mort1 i Printere
I går 19:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging