Jag hade tänkt att bygga en webbshop där man ska kunna köpa främst bilder (för nedladdning). Finns det några bra regler för hur man bör göra för att förhindra direkt nedladdning av filerna i fråga (t.ex. om man känner till sökvägen till filen)? Hur skyddar man dem på bästa sätt? Sköter man det genom inställningar i webservern?
I vilket fall, det jag är ute efter är att man enbart ska kunna ladda ner filerna genom att klicka på en länk i min webshop. Hur görs detta på bästa sätt?
Min fråga har säkert blivit besvarad innan, men jag hittade inte riktigt vad jag söker.
OBS. Exemplet jag gav är ett generellt sätt att ladda ned filer. Viktigt är att använda rätt sorts content type. Om du vill ladda ned bilder så vet jag inte om application/octet-stream är rätt. Då lämpar sig nog image/xxxx bättre (xx står för t ex jpeg, gif).
Bara en snabb kommentar innan jag börjar ta tag i det på riktigt:
Med "utanför webroten" menar du i en mapp högre upp i mappstrukturen? Utan att ha testat känns det som att det kan vara lite lurigt att få ladda upp filer via webbläsaren till en sådan mapp, men det kanske inte brukar vara några problem?
Ja, för att förhindra atta ingen kan komma åt dina filer så måste du antingen skydda dem med t ex htaccess eller liknande eller så har du filerna utanför webbroten. Har du dem utanför webbroten så kommer webbläsaren inte åt dem.
Exempel:
/usr/local/apache2/htdocs/my_fancy_web2_app/wwwroot/ <-- publika katalogen somn webbläsaren kommer åt (bilder, css och js)
/usr/local/apache2/htdocs/my_fancy_web2_app/data <-- oåtkomligt för webbläsaren (här kan du ha underkataloger för diverse saker, bl a filer som du vill tillgodoge till vissa personer).
Sedan kan du konfigurera webbservern så att t ex http://localhost/olle pekar mot /usr/local/apache2/htdocs/my_fancy_web2_app/wwwroot/
Sen vilket som är bäst låter jag dig och/eller någon annan att avgöra.
Nej, det har inget direkt med nedladdning att göra, men med helheten att göra.
I vilket fall, det var bara en tanke jag slängde ut och jag fick svar på mina frågor. Tack!
Absolut, säkerhet är hög prio. Jag är dock rätt grön på det området i nuläget, har väl tänkt att läsa på en del innan sjösättning av projektet så att säga. Fast det kanske finns några gyllene regler som man bör ha koll på här också?
Att kolla vilka filtyper som laddas upp och att användaren är inloggad är väl självklart, men andra små tips tar jag gärna emot!