Avatar billede maxsover Nybegynder
15. december 2003 - 01:18 Der er 7 kommentarer og
1 løsning

Skal kun være txt-filer

Hej

Jeg har en 2 upload scripts, som gør, at jeg kan uploade filer(det siger sig selv :P)

Den er lavet til: www.deniz.frac.dk, men der kommer folk og putter alt muligt andet ind... (Jeg har lige tømt mappem)

Er der ikke en som kan gøre, at man kun kan hente txt-filer?

______________________
Scrpterne:
______________________

(dette script hedder addfile.php):


<form enctype="multipart/form-data" action="opload.php" method="post">
<input type="hidden"><div align="center">
Opload denne fil: <input name="userfile" type="file"></div><br><br>
<center><input type="submit" value="Send filen"></center>
</form>

______________________

(Dette script hedder upload.php):

<?php

$uploadfile = $_FILES['userfile']['tmp_name'];
$uploaddir = "news/".$_FILES['userfile']['name'];

print "<pre>";
if (move_uploaded_file($uploadfile, $uploaddir)) {
  print "Filen er gyldig, og er blevet oploaded. Tak for din fil :D. Her er noget info:\n";
  print_r($_FILES);
} else {
  print "Possible file upload attack!  Here's some debugging info:\n";
  print_r($_FILES);
}
?>

___________________

Skriv hvilken fil du har ændret i, samt scriptet neden under.

Tak på forehånd

Mvh
MaxSover
Avatar billede ztyxx Nybegynder
15. december 2003 - 01:25 #1
du kan jo teste hvilken filtype det er inden der uploades, du kan måske bruge noget af dette
http://www.eksperten.dk/spm/439084
Avatar billede googolplex Novice
15. december 2003 - 01:26 #2
$filtype = $_FILES['userfile']['type'];
$filtyper = array('text/plain');
if (in_array($filtype, $filtyper)) {
    if (move_uploaded_file($uploadfile, $uploaddir)) {
        print "Filen er gyldig, og er blevet oploaded. Tak for din fil :D. Her er noget info:\n";
        print_r($_FILES);
    } else {
        print "Possible file upload attack!  Here's some debugging info:\n";
        print_r($_FILES);
} else {
    print "Filtypen kan ikke uploades!";
}

Så kan du selv smide flere filtyper i array'et hvis du finder det nødvendigt.
Avatar billede googolplex Novice
15. december 2003 - 01:27 #3
Du kan se en liste over MIME-typerne her:

http://www.w3schools.com/media/media_mimeref.asp
Avatar billede maxsover Nybegynder
15. december 2003 - 01:32 #4
googleplx--->

kan du ikke skrive hele filen som den skal stå?
Avatar billede maxsover Nybegynder
15. december 2003 - 01:33 #5
googoolplex* :P
Avatar billede maxsover Nybegynder
15. december 2003 - 01:34 #6
googolplex* sådan:P
Avatar billede googolplex Novice
15. december 2003 - 01:35 #7
Takker for point :)
Avatar billede googolplex Novice
15. december 2003 - 01:37 #8
(Dette script hedder upload.php):

<?php

$uploadfile = $_FILES['userfile']['tmp_name'];
$uploaddir = "news/".$_FILES['userfile']['name'];
$filtype = $_FILES['userfile']['type'];
$filtyper = array('text/plain');

print "<pre>";

if (in_array($filtype, $filtyper)) {
    if (move_uploaded_file($uploadfile, $uploaddir)) {
        print "Filen er gyldig, og er blevet oploaded. Tak for din fil :D. Her er noget info:\n";
        print_r($_FILES);
    } else {
        print "Possible file upload attack!  Here's some debugging info:\n";
        print_r($_FILES);
} else {
    print "Filtypen kan ikke uploades!";
}

?>
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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

IT-JOB