/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Lukket filsystem på server
Fra : Lars Grove Mortensen


Dato : 03-02-04 16:25

Hej alle

Jeg skal lave et filsystem på en webserver, hvor kun en begrænset
gruppe har adgang.

Jeg har sådan set allerede lavet systemet - i asp.

Men problemet er nu, at såfremt en uvedkommende kender stien til
en given fil i systemet - kan vedkommende bare indtaste denne i
sin browser og dermed hente filen.

Er der nogen, der har en ide til, hvordan man opnår både at
afskærme for uvedkommendes adgang - og samtidig give mulighed for
at de rigtige personer kan hente filerne via systemet, når de er
logget ind.

??


På forhånd tak for hjælpen

MVH
Lars Mortensen

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jørn Andersen (03-02-2004)
Kommentar
Fra : Jørn Andersen


Dato : 03-02-04 19:18

On Tue, 3 Feb 2004 15:24:40 +0000 (UTC), Lars Grove Mortensen
<lars@grove-mortensen.dk> wrote:

>Jeg skal lave et filsystem på en webserver, hvor kun en begrænset
>gruppe har adgang.
>
>Jeg har sådan set allerede lavet systemet - i asp.
>
>Men problemet er nu, at såfremt en uvedkommende kender stien til
>en given fil i systemet - kan vedkommende bare indtaste denne i
>sin browser og dermed hente filen.

<url: http://www.asp-faq.dk/article/?id=49>

Good luck!

--
Jørn Andersen,
Brønshøj

Lars Mortensen (03-02-2004)
Kommentar
Fra : Lars Mortensen


Dato : 03-02-04 22:16

> On Tue, 3 Feb 2004 15:24:40 +0000 (UTC), Lars Grove Mortensen
> <lars@grove-mortensen.dk> wrote:
>
> >Jeg skal lave et filsystem på en webserver, hvor kun en begrænset
> >gruppe har adgang.
> >
> >Jeg har sådan set allerede lavet systemet - i asp.
> >
> >Men problemet er nu, at såfremt en uvedkommende kender stien til
> >en given fil i systemet - kan vedkommende bare indtaste denne i
> >sin browser og dermed hente filen.
>
> <url: http://www.asp-faq.dk/article/?id=49>
>
> Good luck!
>
> --
> Jørn Andersen,
> Brønshøj


Hej Jørn

Artiklen beskriver jo blot(?) et glimrende eksempel på, hvordan man
beskytter asp-filer. Og dét har jeg allerede lavet. Det handler derimod om
de filer (Excel-regneark, billeder, databaser, Word-dokumenter osv) som skal
deles mellem brugerne - dé, der har logget ind i systemet.

Men som sagt er problemet jo; at såfremt man kender stien på en given fil,
så kan man bare indtaste denne i sin browser - og dermed hente filen.

Har du en løsning på dette?


På forhånd tak

MVH
Lars Mortensen



Jens Gyldenkærne Cla~ (03-02-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 03-02-04 23:38

Lars Mortensen skrev:

> Det handler derimod om de filer (Excel-regneark,
> billeder, databaser, Word-dokumenter osv) som skal deles
> mellem brugerne - dé, der har logget ind i systemet.

I asp.net kan man sætte .net-parseren til også at fortolke filer
med andre endelser - det skulle i princippet kunne bruges til at
beskytte vilkårlige filer (i modsætning til standard asp kan et
bibliotek i asp.net beskyttes uden at indsætte kode i alle de filer
der skal beskyttes). Jeg har dog ikke prøvet at håndtere andet end
asp.net-filer med asp.net.

En anden mulighed - der også er tilgængelig i traditionel asp - er
at lægge filerne uden for webscope og så hente dem "on demand" med
asp-kode. Jeg ved at det kan gøres, men desværre ikke hvordan.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Lars Mortensen (04-02-2004)
Kommentar
Fra : Lars Mortensen


Dato : 04-02-04 02:17

"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev
> En anden mulighed - der også er tilgængelig i traditionel asp - er
> at lægge filerne uden for webscope og så hente dem "on demand" med
> asp-kode. Jeg ved at det kan gøres, men desværre ikke hvordan.


Det lyder som den rigtige løsning. Så hvis der er nogen, der kender en
metode??


På forhånd mange tak

MVH
Lars Mortensen



Jesper Nielsen (06-02-2004)
Kommentar
Fra : Jesper Nielsen


Dato : 06-02-04 17:34

> Det lyder som den rigtige løsning. Så hvis der er nogen, der kender en
> metode??

Du skal bruge ADODB.Stream:

<%
Option Explicit

Server.ScriptTimeout = 180

Dim strFileName, strFileExt, strFilePath
strFileName = Request.QueryString("f")
strFileExt = Request.QueryString("e")
strFilePath = "d:\files\"

Dim objStream
Set objStream = CreateObject("ADODB.Stream")

objStream.Type = 1
objStream.Open
objStream.LoadFromFile strFilePath & strFileName & "." & strFileExt

Dim strContentType
Select Case LCase(strFileExt)
Case "doc" strContentType = "application/msword"
Case "exe" strContentType = "application/octet-stream"
Case "gif" strContentType = "image/gif"
Case "jpg" strContentType = "image/jpeg"
Case "mdb" strContentType = "application/x-msaccess"
Case "pdf" strContentType = "application/pdf"
Case "png" strContentType = "image/png"
Case "txt" strContentType = "text/plain"
Case "xls" strContentType = "application/vnd.ms-excel"
Case "zip" strContentType = "application/x-zip-compressed"
End Select

Response.ContentType = strContentType
Response.BinaryWrite objStream.Read

objStream.Close
Set objStream = Nothing
%>

Dette kan du så udvidde med content types som det passer dig, og du kan
indsætte din sædvanlige adgangsbeskyttelse.

Bemærk, at alle filer hentes ind i memory af IIS inden de sendes ud til
klienten, så hvis du forsøger at streame en 100 MB fil til brugeren, gemmes
denne i memory indtil du lukker ADODB.Stream igen.

På IIS 6 er den maksimale størrelse på bufferen 4 MB, men dette kan ændres
ved at køre følgende kommando fra en dos prompt:

cscript c:\inetpub\adminscripts\adsutil.vbs set w3svc/root/AspBufferingLimit
[bytes]
Udskift [bytes] med den ønskede størrelse. Bemærk, at tallet skal være en
integer.

Læs mere på
http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/windowsserver2003/proddocs/standard/ref_mb_aspbufferinglimit.asp.

Du kan evt. også prøve at disable buffering.
Response.Buffer = False

Håber du kan bruge det til noget.

--
Mvh. Jesper



Jesper Nielsen (06-02-2004)
Kommentar
Fra : Jesper Nielsen


Dato : 06-02-04 17:35

> cscript c:\inetpub\adminscripts\adsutil.vbs set
w3svc/root/AspBufferingLimit

Forkert linie. Det skulle have været
cscript c:\inetpub\adminscripts\adsutil.vbs set
lm/w3svc/root/AspBufferingLimit

--
Mvh. Jesper



Lars Mortensen (07-02-2004)
Kommentar
Fra : Lars Mortensen


Dato : 07-02-04 14:56

"Jesper Nielsen" <jn@nielsenit.invalid> skrev i en meddelelse
news:alPUb.85755$jf4.5449338@news000.worldonline.dk...
> > Det lyder som den rigtige løsning. Så hvis der er nogen, der kender en
> > metode??
>
> Du skal bruge ADODB.Stream:
>
> <%
> Option Explicit
<snip>


Hej Jesper

Tak for koden mv.

Skal jeg smide den ind i hvilket ASP-dokument? Hvor på serveren? Skal det
være i en default.asp i det dir, hvor filerne ligger, eller??


På forhånd tak for hjælpen

MVH
Lars Mortensen



Søg
Reklame
Statistik
Spørgsmål : 177549
Tips : 31968
Nyheder : 719565
Indlæg : 6408822
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste