Hur kan man förhindra obehöriga att ladda ner filer från en specifik undermapp. Jag använder rollbaserad forms authentication för applikationen. I web.Config har jag Det är behandlades rejält i tråden [skydda pdfmapp?] . Som tomas länkade, till http://www.dotnetspider.com/technology/kbpages/1011.aspx går det om jag minns rätt att mappa filerna *.* till aspnet_isapi.dll och på det sättet faktiskt fånga samtliga filändrelser istället för bara de vanliga, aspx, ascx osv. Detta görs i så fall via machine.config (ligger du på hotell får man således be ISP:n om denna ändring). Va först inne på att använde HttpHandler men då kräver det att kunden ligger på ett hotell med en support som är villig att hjälpa till. Plus att applikationen jag utvecklar är av "plug and pray...äähh plug and play" karaktär. Dvs ingen egen konfiguration skall behövas för att få den att snurra. En annan lösning är ett måste. Ett sätt kanske kan vara att spara filerna i en databas?? Tyvärr använder jag access och det är väl inte den mest optimala db:n för detta. Inga bra förutsättningar jag ligger inne med :-( En idé: bra ide, men asp.net kan inte accessa mappar utanför den publika root mappen utan trixande med rättigheter. I detta fall c:\skyddat\hej.pdf Om du kan tänka dig att tumma lite på säkerheten så gör du helt enkelt så att du skapar ett långt och krångligt filnamn som du aldrig, aldrig låter någon få se ens utav misstag. Den borde då ligga hyffsat skyddad även om den trots allt är åtkomlig utifrån (därför att den då ligger fullt åtkomlig ifrån nätet.) Det namnet kan du sedan spara i din databas. Sedan gör du som jag skrev ovan Eftersom det inte rör sig om någon topphemlig information blir det så att filerna döps till något klurigt typ sfdjkkdöjfrr.zip och sedan sparas namnet och sökväg i en db. Tack för engagemanget. Med IIS6 och .net kan man fixa detta autmatiskt. Dock kommer jag ej ihåg om det gällde .Net 1.1 eller om det var först i 2an. I vilket fall så kan man då skydda alla filer, jpeg etc... Johan: Så länge man har IIS 6 (och rubbet skickas till asp.net) så handlar det om bara ett fåtal rader kod ;)Förhindra nerladdning av filer i skyddad mapp
<code>
<location path="skyddadmappmedfiler">
<system.web>
<authorization>
<allow roles="DownloadFiles"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
</code>
men detta förhindrar inte nerladdning av filer utan endast visning av aspx sidor i mappen.Sv: Förhindra nerladdning av filer i skyddad mapp
Jag tycker personligen att den bästa lösningen (jag använder den själv) är med HttpHandler trots att det känns en aning omständig (inte mycket kod iofs). En liten bonus med HttpHandler är att filerna kan ligga var som helst där webbservern kommer åt dem.
/AndreasSv:Förhindra nerladdning av filer i skyddad mapp
Vad detta har för inpact på prestanda vet jag faktiskt inte i skrivande stund.Sv: Förhindra nerladdning av filer i skyddad mapp
Sv:Förhindra nerladdning av filer i skyddad mapp
Du ha en nedladdningsmapp. Du har dessutom en nedladdningsmapp som man inte kan komma åt utifrån. Sedan har du en httphandler som reagerar på anropen till nedladdningsmappen som då kollar om man får ladda ner filen, om det är så ändrar mime-typen och filen skickas tillbaka, filen läses in ifrån den nedladdningsmapp som man inte kan komma åt.
T.ex.:
Du har c:\skyddat\hej.pdf. Webbplatsen ligger på http://www.apa.se. Pdf:en "ligger" på http://www.apa.se/pdf/hej.pdf.axd.
Om du nu använder en httphandler som reagerar på just "mappen" pdf (som dock inte finns) där den söker efter anrop till "*.pdf.axd" så kan du få tag på anropen efter din pdf. Sedan läser du, som sagt, bara in filen å skickar tillbaka denSv: Förhindra nerladdning av filer i skyddad mapp
Sv:Förhindra nerladdning av filer i skyddad mapp
Sv: Förhindra nerladdning av filer i skyddad mapp
Sv: Förhindra nerladdning av filer i skyddad mapp
Mvh JohanSv:Förhindra nerladdning av filer i skyddad mapp