mboost-dp1
Upload af filer vha. php
- Forside
- ⟨
- Forum
- ⟨
- Programmering
Hej
Jeg er ved at lave en side, hvor jeg kan uploade diverse filer. Jeg har fået lavet upload delen, og den virker som den skal bort set fra, at når jeg uploader en fil der begynder med stort Ø, så forsvinder dette Ø i fil-navnet, når filen er blevet gemt på serveren. Hvad er grunden til dette sker? Og hvad er eventuelt løsningen? (Et peg i den rigtige retning er nok :-)
Link til kildekode
Jeg her også planer om at filtere eventuelle "farlige" fil-typer fra (selvom det kun er mig, der skal kunne uploade der). Hvilke fil-typer er "farlige"? Tænker på filer som vil kunne køre uønskede scripts på serveren og ligende.
Alt andet kritik af siden er også meget velkommen.
Link til siden
Mvh Anders
Jeg er ved at lave en side, hvor jeg kan uploade diverse filer. Jeg har fået lavet upload delen, og den virker som den skal bort set fra, at når jeg uploader en fil der begynder med stort Ø, så forsvinder dette Ø i fil-navnet, når filen er blevet gemt på serveren. Hvad er grunden til dette sker? Og hvad er eventuelt løsningen? (Et peg i den rigtige retning er nok :-)
Link til kildekode
Jeg her også planer om at filtere eventuelle "farlige" fil-typer fra (selvom det kun er mig, der skal kunne uploade der). Hvilke fil-typer er "farlige"? Tænker på filer som vil kunne køre uønskede scripts på serveren og ligende.
Alt andet kritik af siden er også meget velkommen.
Link til siden
Mvh Anders
Min første tanke er tegnsæt. Hvis nu fx. PHP får filnavnet i iso-8859-1 format, men filsystemet er i utf8-format, så er der problemer.
Personligt plejer jeg at gemme filnavn og andet metadata i en database, og blot bruge primær-nøglen (autogenereret numerisk id) som filnavn.
Alternativt kan man bruge noget søg/erstat-agtigt til at fjerne alle "farlige" tegn (non-ascii), og evt. erstatte dem med noget ascii.
Personligt plejer jeg at gemme filnavn og andet metadata i en database, og blot bruge primær-nøglen (autogenereret numerisk id) som filnavn.
Alternativt kan man bruge noget søg/erstat-agtigt til at fjerne alle "farlige" tegn (non-ascii), og evt. erstatte dem med noget ascii.
2 skrev:
Alternativt kan man bruge noget søg/erstat-agtigt til at fjerne alle "farlige" tegn (non-ascii), og evt. erstatte dem med noget ascii.
Det var også min idé, men håbede der var en nemmere eller enklere måde - selvom den vel egentlig er rimelig nem.
Tror jeg prøver den indtil videre, og så må jeg skifte, hvis jeg finder en bedre metode :-)
Jeg sad lige og så på de filtype-ikoner du har, og kunne godt tænke mig at vide hvilket ikon-sæt de er fra.
4 skrev:Jeg sad lige og så på de filtype-ikoner du har, og kunne godt tænke mig at vide hvilket ikon-sæt de er fra.
Jeg fandt dem inde på www.freeiconsweb.com/.
Søgte bare på "free icon" på google.
6 skrev:Kører PHP i Windows?
Umildbart tror jeg det kører på Linux.
http://www.servage.net/page/features/
Linux Operating System
Providing the power and security of Unix.
Tænker på filer som vil kunne køre uønskede scripts på serveren og ligende.
Det afhænger af hvad din server kan eksekvere.
Min kan f.eks. kun køre .php scripts, så jeg ændre meget simpelt, alle .php filer til .phps
Og så er der ingen fare :) Har kørt med public uploadsite i snart 5 år, og alle forsøg på unønskede scripts har fejlet. Jeg har set en del som har forsøgt at uploade dem, men endt som ren text :p
1 skrev:Jeg her også planer om at filtere eventuelle "farlige" fil-typer fra (selvom det kun er mig, der skal kunne uploade der). Hvilke fil-typer er "farlige"? Tænker på filer som vil kunne køre uønskede scripts på serveren og ligende.
Oh ja, det kunne jeg jo også lige kommentere. :)
Hvis du bruger min ide med at gemme metadata i en database, og lader brugeren downloade via dit script, så er ingen filer farlige (for din server), da indholdet aldrig vil blive brugt som andet end data.
12 skrev:#1
Du kan evt laese filnavnen i PHP ( som burde kunne laese begge tegnsaet, og saa konvertere til hvad end dit filsystem koerer ( hoejst sandsynligt UTF-8 ).
Det burde vaere rimeligt simpelt :)
#12
Vil du uddybe det lidt mere? eventuelt med nogle functions jeg kan slå op på php.net. Det lyder som en løsning.
Gå til top
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.