11. maj 2006 - 01:27Der er
12 kommentarer og 1 løsning
Dynamisk beskyttelse af filer til download
Jeg skal lave et system hvor man via et admin interface kan tilføje filer til en mappe, som en bruger der logger ind, senere kan hente. Man må ikke kunne hente filer fra en mappe man ikke har fået rettigheder til.
Nu er spørgsmålet...hvordan gør man dette bedst? Jeg har desværre ikke mulighed for at kunne uploade filer til en mappe uden for roden, så derfor kommer mappen med filerne til at ligge et sted man kan få adgang til med browseren.
Jeg har tænkt på om man kunne bruge loctation auth, hvor man med roles, beskriver hvilke mapper og filer hvilke roller må bruge. Det skal køre dynamisk, så kan man lav kode som: <location path="SomeFolder/SecureDownload/"> <system.web> <authorization> <deny users="*" /> <Allow .../> </authorization> </system.web> </location> i en xml fil, så det bliver overholdt? (har ikke lyst til at skulle rette i web.config, og ved heller ikke om man kan det)
Eller...er det her httpmodules kommer ind i billedet? Kan man ikke deffinere dem således de bliver kaldt hver gang der sker et request i en bestemt mappe?
Yep...har godt set flere af dem, men syntes generelt flere af dem blinker med en masse alarmer omkring større filer. Hvor stort er det? Går ud fra filerne bliver omkring 5-10mb stykket. Området bliver ikke voldsomt belastet, men hvor højt skal man sætte grænsen på størrelsen af filerne?
Hvis det er et webhotel er der typisk en mappe til placering af databaser og lignende. Der kan du placere filerne. Hvis det drejer sig om filer en bruger skal downloade bør der ikke være nogen problemer. Det kan der være ved f.eks. store pdf filer som vises direkte i browseren. Hvis det er almindelige filer vil brugeren jo bare downloade filerne, som man plejer.
Hej igen, og undskyld ventetiden. Jeg har som sådan ikke sådan en mappe, det er en grim (meget grim) løsning, men efter hvad jeg kan se, kan man ligge dem i bin mappen, det ser ikke ud til man kan tilgå filer herfra? Dog vil det blive ekstremt rodet, så jeg vil gerne undgå det.
Jeg har overvejet hvorvidt man kan ligge hele filer (4-5MB) i en database, og så styre tilgangen til dem derfra, men hvilke fælder er der ved det? Jeg vil gå ud fra at det ikke er godt at man skal sætte sig på en connection så længe det tager at læse ud fra databasen?
Jeg kan oprette en .htprotect fil, med brugernavn og adgangskode, kan den gøre tricket er den sikker nok? Jeg er igang med at forhøre mig hos webhotellet...
Hej Webudbyderen vil af en eller anden grund ikke fjerne rettighederne på en mappe...mener umiddelbart at det er en meget simpel opgave, men har ikke rigtigt kunne få en grund...Er ved at prøve med .htaccess. man kan kun oprette kode på det, og ikke rigtigt andet. Men ind til videre har jeg bare lagt filerne i en mappe hvis navn består af tilfældige bogstaver, og ellers linkes der ikke til filerne nogen steder...
He...ja. Jeg var godt klar over at ideen med BIN biblioteket ikke var verdens bedste ide, men når man køre inProc sessions på et login system, er det da helt kaotisk ;) (der genstartes når bin biblioteket ændres, og smidder alle sessions = log ud)
Løsningen blev at leje en dedikeret server, og hurtigst muligt glemme alt om surftown.
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.