FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Har WN som tidsfördriv
|
Jag ska koda filuppladdning för mina användare på N.nu.
Det grundläggande är inga problem: - checka filändelse - checka mime typ - checka filstorlek - checka filnamn - checka referrer - kräva inloggning för att ladda upp Räcker detta? Filerna kan ju ändå ha virus utan att jag kan kolla det. Men om jag kräver uppgraderat konto för att ladda upp så kommer jag nog runt det. Jag har funderat att lägga filuppladdningen på en helt annan domän och annan server så att det inte kan störa innehållet på N.nu på något sätt, är det en bra tanke? |
|||
![]() |
![]() |
![]() |
#2 | |||
|
||||
Har WN som tidsfördriv
|
||||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Har WN som tidsfördriv
|
Jag skulle ju inte bry mig så mycket om mine-typ, min egen erfarenhet bara.
Filtyp kan ju vara bättre att kolla i filsystemet, att ändelsen är rätt är ju trevligt, men någon kan ju ladda upp en php fil som .jpg om dom nu känner för det. Exempelvis finfo_file |
||
![]() |
![]() |
![]() |
#4 | |||
|
||||
Har WN som tidsfördriv
|
Mime-typ och filändelse är inte så tillförlitligt och inte någon garanti för något.
Jag antar att man är ganska säker så länge man inte includar filerna på något sätt på din sida utan endast använder de som bilder etc i din HTML-kod. Om det bara rör sig om bilder kan rendera om bilden med GD eller imagick för att vara helt säker på att det bara är bilder som sparas på servern. Är det inte bilder tror jag inte att filen kan gå igen om det på något sätt. |
|||
![]() |
![]() |
![]() |
#5 | |||
|
||||
Mycket flitig postare
|
Se till att filerna inte kan exekveras, sen kan du ju för din egen skull scanna igenom dem efter virus, ingen vill ha en mapp full med virus
![]() |
|||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Medlem
|
Citat:
Tänk även på att det går att göra en fil som både är en bild och php skript samtidigt, så eventuella checkar med t.ex "imagefilesize" med GD är alltså inte helt säkert. Det viktigaste för filuppladdning är att användarna inte kan nå en uppladdad fil via en url. Så att lägga filen utanför wwwroot eller blockera åtkomst till upload katalogen är bra.. Att även skapa ett slumpat namn på fil och tex spara namnet i en databas är bra, detta samtidigt som man levererar bildfilen till webbläsaren med php. <img src="bild.php?id=1"> På så vis kan man inte exekvera eventuell php kod i en bild fil eller göra file inclusion attacker.. |
||
![]() |
![]() |
![]() |
#7 | |||
|
||||
Har WN som tidsfördriv
|
Jag har nu löst detta och implementerat uppladdning av filer. För att kunna ha hög säkerhet så laddas filerna inte upp på min server utan jag skickar de till Amazon S3 istället. Funkar väldigt bra och kan dessutom skalas rejält. Rekommenderas.
|
|||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Supermoderator
|
Hur förändras juridiken då? Gör det någon skillnad?
__________________
Full-stack developer, free for smaller assignments |
||
![]() |
![]() |
![]() |
#9 | |||
|
||||
Har WN som tidsfördriv
|
Antar väl att jag/mitt bolag ansvarar inför Amazon S3. Dvs jag får se till att jag följer deras policy.
I sin tur ansvarar mina användare inför N.nu med dess policy vilket är rätt strikta. Vid uppladdning av en fil måste till exempel användaren garantera att det är han som är upphovsmannen eller att han har tillåtelse av upphovsmannen. Filer som rapporteras raderas efter kontroll. Rent juridiskt vet i tusan vilket lands lagar som gäller. |
|||
![]() |
![]() |
Svara |
|
|