BremnesX Skrevet 13. juni 2007 Del Skrevet 13. juni 2007 Skal lage en intranet/ekstranet-løsning, og skal i den forbindelse ha muligheten til å legge ut filer som KUN innloggede brukere skal ha tilgang til. Det som da er problemet er at hvis filen ligger på f.eks http://example.com/file.doc så kan hvem som helst laste ned denne, uavhengig om de er logget inn eller ikke. Er det noen måte å unngå dette på, bortsett fra å lagre filene i databaser, eller er det eneste løsning? Lenke til kommentar
eiden84 Skrevet 1. august 2007 Del Skrevet 1. august 2007 (endret) Det skal ikke være nødvending å lagre filene i basen. Kan du ikke bare legge de i en mappe som kan nåes fra vanlig internet? Når en bruker skal laste ned en fil, så kan du lese filen fra asp-siden og sende den tilbake til browseren. Her er en link med litt kode: http://psacake.com/web/if.asp Lykke til. Endret 1. august 2007 av eiden84 Lenke til kommentar
ghstoe Skrevet 14. august 2007 Del Skrevet 14. august 2007 Her er en link med litt kode: http://psacake.com/web/if.asp Jeg fikk ikke den siden opp. Er det en annen måte å løse problemet over på? Jeg skal legge ut noen pdf filer på intranett og ønsker da ikke at alle og enhver skal kunne laste de ned. Lenke til kommentar
Manfred Skrevet 14. august 2007 Del Skrevet 14. august 2007 Bare for å slenge ut et spørsmål i samme slengen, egentlig: Er det mulig å ha en slags .htaccess i asp/asp.net? som setter rettigheter til en mappe? Lenke til kommentar
serverside Skrevet 14. august 2007 Del Skrevet 14. august 2007 Bare for å slenge ut et spørsmål i samme slengen, egentlig: Er det mulig å ha en slags .htaccess i asp/asp.net? som setter rettigheter til en mappe? 9276533[/snapback] I ASP.NET er dette løst vha web.config. Der kan man sette opp sikkerhet på mappe- og fil-nivå. Du kan lese mer om dette i artikkelen User Authorization in Sub-Directories I ASP 3.0 har man ingen web.config og men må derfor gjøre dette på en annen måte. Den mest vanlige måten er nok å legge filene i en mappe hvor ingen har tilgang og deretter streame de til autoriserte brukere. Dersom det ikke er veldig viktig med god sikkerhet kan man evt. lagre filene med filnavn som er umulig å gjette. Men det er definitivt ingen sikker metode... Lenke til kommentar
eiden84 Skrevet 14. august 2007 Del Skrevet 14. august 2007 Til ghstoe, fra siden http://psacake.com/web/if.asp When you serve a document from a Web server, you might want to immediately prompt the user to save the file directly to the user's disk, without opening it in the browser. However, for known MIME (Multipurpose Internet Mail Extensions) types such as Microsoft Word ("application/ms-word"), the default behavior is to open the document in Internet Explorer. <% '-------------------------------------------- Response.Buffer = True Dim strFilePath, strFileSize, strFileName Const adTypeBinary = 1 strFilePath = "C:\ whatever the path is " strFileSize = ... the size of file .. optional strFileName = the file na,e Response.Clear '8*******************************8 ' Requires MDAC 2.5 to be stable ' I recommend MDAC 2.6 or 2.7 '8*******************************8 Set objStream = Server.CreateObject("ADODB.Stream") objStream.Open objStream.Type = adTypeBinary objStream.LoadFromFile strFilePath strFileType = lcase(Right(strFileName, 4)) ' Feel Free to Add Your Own Content-Types Here Select Case strFileType Case ".asf" ContentType = "video/x-ms-asf" Case ".avi" ContentType = "video/avi" Case ".doc" ContentType = "application/msword" Case ".zip" ContentType = "application/zip" Case ".xls" ContentType = "application/vnd.ms-excel" Case ".gif" ContentType = "image/gif" Case ".jpg", "jpeg" ContentType = "image/jpeg" Case ".wav" ContentType = "audio/wav" Case ".mp3" ContentType = "audio/mpeg3" Case ".mpg", "mpeg" ContentType = "video/mpeg" Case ".rtf" ContentType = "application/rtf" Case ".htm", "html" ContentType = "text/html" Case ".asp" ContentType = "text/asp" Case Else 'Handle All Other Files ContentType = "application/octet-stream" End Select Response.AddHeader "Content-Disposition", "attachment; filename= strFileName Response.AddHeader "Content-Length", strFileSize ' In a Perfect World, Your Client would also have UTF-8 as the default ' In Their Browser Response.Charset = "UTF-8" Response.ContentType = ContentType Response.BinaryWrite objStream.Read Response.Flush objStream.Close Set objStream = Nothing %> Lenke til kommentar
Manfred Skrevet 14. august 2007 Del Skrevet 14. august 2007 Dette er jo da "gammel" asp. Er det dette eller asp.net du skal ha? Det hadde vært en liten fordel om du kunne informere om slikt. Lenke til kommentar
ghstoe Skrevet 15. august 2007 Del Skrevet 15. august 2007 Dette er jo da "gammel" asp. Er det dette eller asp.net du skal ha? Det hadde vært en liten fordel om du kunne informere om slikt. 9278665[/snapback] Sorry at jeg ikke nevnte det med en gang, - det er ikke asp.net jeg skal ha. Lenke til kommentar
backup Skrevet 15. august 2007 Del Skrevet 15. august 2007 Løsningen på http://psacake.com/web/if.asp forutsetter vel at filene som bare dem utvalgte skal ha tilgang til lagres utenfor selve siten (dvs utenfor wwwroot). Dermed er det bare asp-scriptet som krever passord som kan få tak i filene. Hvis man derimot som site-eier bare har tilgang til selve siten, da må man jo legge alle filene der, dvs innenfor wwwroot. En mulig løsning er da å krytere filene med passordet til dem utvalgte og la så det passordkrevende asp-scriptet dekryptere filene med passordet som brukerne taster inn. Hvis passordet er riktig, kommer filene dekrytert til brukerne, men ellers bør scriptet sende møl som takk for hackinga, hihi. Lenke til kommentar
ghstoe Skrevet 16. august 2007 Del Skrevet 16. august 2007 Jeg vet ikke om jeg skjønner dette. Det er bare å prøve og feile og ikke minst teste ut. Et tillegg spørsmål: Dette gjelder et intranett. Er dt lurt å legge intranettet som et subdomenet til domenet? Lenke til kommentar
Manfred Skrevet 16. august 2007 Del Skrevet 16. august 2007 Jeg trodde det var mest vanlig å legge det på en egen server, men det kan jo like fullt ligge på et subdomene. Vi har alltid kjørt det som et subdomene, men på en dedikert server. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå