Kom ihåg mig?
Home Menu

Menu


Uploadscript

 
Ämnesverktyg Visningsalternativ
Oläst 2006-08-23, 08:00 #1
clirres avatar
clirre clirre är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Nov 2005
Inlägg: 1 035
clirre clirre är inte uppkopplad
Har WN som tidsfördriv
clirres avatar
 
Reg.datum: Nov 2005
Inlägg: 1 035
Hej,

Är det någon som har ett php-script (eller var ett finns) som man kan använda för att ladda upp filer från en hemsida. Det jag söker är ett via en <form> kunna ladda upp bilder på min ftp i formaten .jpg och .kmz (och helst se till att bara de går). Jag har letat på nätet och hittat flera script men inget har fungerat. Är det någon som vet något som, verifierat, fungerar? Det är framförallt den "mottagande" scriptet som jag söker. <form>-koden är ganska simpel.

mvh

Christoffer
clirre är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-08-23, 08:51 #2
najks avatar
najk najk är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Oct 2005
Inlägg: 1 224
najk najk är inte uppkopplad
Har WN som tidsfördriv
najks avatar
 
Reg.datum: Oct 2005
Inlägg: 1 224
config.php:
Kod:
<?
//Advanced Uploader V1.00b
//Copyright 2002 ZachWhite.com
//By using this program you agree with the license provide with it.
//Script by Zach White http://www.zachwhite.com [email protected]

$absolute_path = "/my/path/upload/"; //Absolute path to where files are
$size_limit = "yes"; //do you want a size limit yes or no.
$limit_size = "20000000"; //How big do you want size limit to be in bytes
$limit_ext = "no"; //do you want to limit the extensions of files uploaded
$ext_count = "4"; //total number of extensions in array below
$extensions = array(".gif", ".jpg", ".jpeg", ".png"); //List extensions you want
?>


index.php:
Kod:
<?
switch($upload) {
default:
include "config.php";
echo "
<html>
<head>
<title>Upload</title>
</head>
<body topmargin=\"10\" leftmargin=\"0\" bgcolor=\"#18576F\" link=\"#818EA0\" vlink=\"#5C697A\" alink=\"#818EA0\" text=\"#FFFFFF\" style=\"font-family: Verdana; font-size: 12pt; color: #FFFFFF$
Send a file to najk:<br>
<form method=\"POST\" action=\"$PHP_SELF?upload=doupload\" enctype=\"multipart/form-data\">
<input type=file name=file size=30 style=\"font-family: v; font-size: 12pt; color: #5E6A7B; border: 1px solid #5E6A7B; padding-left: 4; padding-right: 4; padding-top: 1; padding-bottom: 1\"><$
<br>
<input name=\"submit\" type=\"submit\">
</form>
</body>
</html>";
break;
case "doupload":
include "config.php";
$endresult = "<font size=\"2\">File Was Uploaded</font>";
if ($file_name == "") {
$endresult = "<font size=\"2\">No file selected</font>";
}else{
if(file_exists("$absolute_path/$file_name")) {
$endresult = "<font size=\"2\">File Already Existed</font>";
} else {
if (($size_limit == "yes") && ($limit_size < $file_size)) {
$endresult = "<font size=\"2\">File was to big</font>";
} else {
$ext = strrchr($file_name,'.');
if (($limit_ext == "yes") && (!in_array($ext,$extensions))) {
$endresult = "<font size=\"2\">File is wrong type</font>";
}else{
@copy($file, "$absolute_path/$file_name") or $endresult = "<font size=\"2\">Couldn't Copy File To Server</font>";
}
}
}
}
echo "
<html> 

<head>
<title>Upload</title>
</head>

<body topmargin=\"10\" leftmargin=\"0\" bgcolor=\"#18576F\" link=\"#818EA0\" vlink=\"#5C697A\" alink=\"#818EA0\" text=\"#FFFFFF\" style=\"font-family: Verdana; font-size: 12pt; color: #FFFFFF$
$endresult<br>

</body>

</html>";
break;
}
?>
najk är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-08-23, 08:53 #3
najks avatar
najk najk är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Oct 2005
Inlägg: 1 224
najk najk är inte uppkopplad
Har WN som tidsfördriv
najks avatar
 
Reg.datum: Oct 2005
Inlägg: 1 224
glömde säga att jag använder den själv, så den fungerar bra för mig.
kanske inte världens snyggaste kod, men jag orkade bara lägga till en rad, inte fixa till skiten :P
najk är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-08-23, 17:46 #4
clirres avatar
clirre clirre är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Nov 2005
Inlägg: 1 035
clirre clirre är inte uppkopplad
Har WN som tidsfördriv
clirres avatar
 
Reg.datum: Nov 2005
Inlägg: 1 035
Det är strålande, ska testa den så snart som möjligt. Tack!
clirre är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-08-23, 21:37 #5
WizKid WizKid är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Apr 2004
Inlägg: 618
WizKid WizKid är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Apr 2004
Inlägg: 618
Ser väldigt farligt ut det skriptet. Nu tittade jag bara på det väldigt snabbt men det ser ut som jag kan kopiera vilken fil jag vill till var jag vill så länge filen inte redan existerar.
WizKid är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-11-27, 01:45 #6
Davids avatar
David David är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2003
Inlägg: 477
David David är inte uppkopplad
Flitig postare
Davids avatar
 
Reg.datum: Aug 2003
Inlägg: 477
Jag fortsätter på den här tråden.

I flera år har jag testat så att webläsaren skickar rätt MIME-typ av de JPEG-filer jag vill ta emot. Detta för att få någon typ av säkerhet i att man inte tar emot vilken typ som helst som slutar med .jpg. Det är säkert inte säkert, och det har ett problem: bilder från digitalkamerar har ofta ingen MIME-typ satt. Erfarenheten visar också att Photoshop (som många använder) är dåligt på att sätta dem. Så webläsaren kan inte skicka någon MIME-typ varför jag, tills nu, inte tagit emot filerna.

Vad ska jag göra? Det är många som har helt okej JPEG-filer att ladda upp men som stoppas av att MIME-typen inte finns att tillgå. Man kan ju testa filens efternamn som i exemplet ovan men det har från början känts otillräckligt.

Några kommentarer?
David är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-11-27, 08:43 #7
b_anderssons avatar
b_andersson b_andersson är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Apr 2004
Inlägg: 1 067
b_andersson b_andersson är inte uppkopplad
Har WN som tidsfördriv
b_anderssons avatar
 
Reg.datum: Apr 2004
Inlägg: 1 067
Citat:
Originally posted by David@Nov 27 2006, 01:45
Jag fortsätter på den här tråden.
I flera år har jag testat så att webläsaren skickar rätt MIME-typ av de JPEG-filer jag vill ta emot. Detta för att få någon typ av säkerhet i att man inte tar emot vilken typ som helst som slutar med .jpg. Det är säkert inte säkert, och det har ett problem: bilder från digitalkamerar har ofta ingen MIME-typ satt. Erfarenheten visar också att Photoshop (som många använder) är dåligt på att sätta dem. Så webläsaren kan inte skicka någon MIME-typ varför jag, tills nu, inte tagit emot filerna.
Vad ska jag göra? Det är många som har helt okej JPEG-filer att ladda upp men som stoppas av att MIME-typen inte finns att tillgå. Man kan ju testa filens efternamn som i exemplet ovan men det har från början känts otillräckligt.
Några kommentarer?
Jag har använt följande kod för att kontrollera att det är rätt filtyp, och det har fungerat bra för mig:

Kod:
<?php
  //Example PHP code to determine the type of a file given
  //8 bytes of header data. Much more accurate than checking
  //the user-supplied Content-Type and of course this is far
  //better than relying on checking the file extension :).

  //(C)2004 r1ch.net. I place this code into the public domain
  //in the hope it is useful to somebody.
  
  //open a file
  $image_data = fopen($argv[1], "rb");

  //grab first 8 bytes, should be enough for most formats
  $header_bytes = fread($image_data, 8);

  //close file
  fclose ($image_data);

  //compare header to known signatures
  if (!strncmp ($header_bytes, "\xFF\xD8", 2))
    $file_format = "JPEG";
  else if (!strncmp ($header_bytes, "\x89\x50\x4E\x47\x0D\x0A\x1A\x0A", 8))
    $file_format = "PNG";
  else if (!strncmp ($header_bytes, "FWS", 3) || !strncmp ($header_bytes, "CWS"))
    $file_format = "SWF";
  else if (!strncmp ($header_bytes, "BM", 2))
    $file_format = "BMP";
  else if (!strncmp ($header_bytes, "\x50\x4b\x03\x04", 4))
    $file_format = "ZIP";
  else if (!strncmp ($header_bytes, "GIF", 3))
    $file_format = "GIF";
  else
    $file_format = "unknown";
  
  print "The file is a $file_format file.\n";
?>
//Björn
b_andersson är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-11-27, 10:08 #8
Roberts avatar
Robert Robert är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jan 2004
Inlägg: 2 103
Robert Robert är inte uppkopplad
Klarade millennium-buggen
Roberts avatar
 
Reg.datum: Jan 2004
Inlägg: 2 103
Finns det ingen möjlighet att i PHP casta den uppladade filen till ett bildobjekt och se om det går bra? (jag pysslar med .Net så jag vet inte, jag föreslår en metod som kanske skulle fungera i min miljö)
Robert är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-12-03, 00:45 #9
XenoMorph_eXcs avatar
XenoMorph_eXc XenoMorph_eXc är inte uppkopplad
Nykomling
 
Reg.datum: Dec 2006
Inlägg: 2
XenoMorph_eXc XenoMorph_eXc är inte uppkopplad
Nykomling
XenoMorph_eXcs avatar
 
Reg.datum: Dec 2006
Inlägg: 2
exif_imagetype() i php är annars lämpligt för att kontrollera olika typer av bilder, eller anser någon att det i sig är en säkerhetsrisk? Hur som helst så krävs det att php_exif.xxx är inkluderad i php.ini

http://se.php.net/manual/sv/function.exif-imagetype.php
XenoMorph_eXc är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-12-03, 02:35 #10
Toombass Toombass är inte uppkopplad
Medlem
 
Reg.datum: Jul 2006
Inlägg: 58
Toombass Toombass är inte uppkopplad
Medlem
 
Reg.datum: Jul 2006
Inlägg: 58
Men om det enda man använder filerna som användaren har laddat upp till att visa som bilder, och någon laddar upp t: ex en .exe fil som är omdöpt till .jpg, blir det något säkerhetshål då eller visas bara inte bilden korrekt?

/Tomas
Toombass är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 22:36.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017