Kom ihåg mig?
Home Menu

Menu


Filåtkomst i IIS

 
Ämnesverktyg Visningsalternativ
Oläst 2005-06-15, 11:41 #1
Fluffe Fluffe är inte uppkopplad
Nykomling
 
Reg.datum: Jul 2004
Inlägg: 44
Fluffe Fluffe är inte uppkopplad
Nykomling
 
Reg.datum: Jul 2004
Inlägg: 44
Jag skulle vilja neka tillträde för direkt åtkomst av alla filer i en viss katalog på min webbserver (IIS).
Alltså, t.ex ska man inte kunna skriva: http://någonsite.se/bilder/test.jpg

Men, jag vill kunna ladda bilderna från sidor som ligger på siten. D.v.s. i en html fil <img src=... >.
Har gogglat en massa, och provat alla möjliga lösningar men får resultatet att antingen kommer man inte åt filerna alls, eller så har man full åtkomst till alla filer.

Några förslag? Kanske inte går?
Fluffe är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-06-15, 12:18 #2
tydal tydal är inte uppkopplad
Medlem
 
Reg.datum: May 2005
Inlägg: 130
tydal tydal är inte uppkopplad
Medlem
 
Reg.datum: May 2005
Inlägg: 130
Det går om du använder serverskript (asp/php), eftersom de då inkluderas via filsystemet och inte IIS. Därmed går de förbi eventuella åtkomstbegränsningar i IIS.

Det är dock bökigt och inget jag rekommenderar.
tydal är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-06-15, 13:34 #3
Micke_Ns avatar
Micke_N Micke_N är inte uppkopplad
Medlem
 
Reg.datum: May 2004
Inlägg: 159
Micke_N Micke_N är inte uppkopplad
Medlem
Micke_Ns avatar
 
Reg.datum: May 2004
Inlägg: 159
Detta är mycket enkelt att göra. istället för att länka bilden direkt gör du te x

[img]LoadImage.aspx?ImageID=135[/img] Så i filen LoadImage.aspx laddar du bilden från filsystemet. På detta sätt kan du till och med ha bilden utan för WWWROOT och då kan absolut ingen gå direkt på filen.

På många Windows servrar ligger ibland en hyfsat bra komponent (Persits AspJpeg) som du kan använda om du vill göra det riktigt enkelt för dig.

/M
Micke_N är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-06-15, 13:44 #4
tydal tydal är inte uppkopplad
Medlem
 
Reg.datum: May 2005
Inlägg: 130
tydal tydal är inte uppkopplad
Medlem
 
Reg.datum: May 2005
Inlägg: 130
Då flyttar du ju bara problemet. Istället för att skriva http://någonsite.se/bilder/test.jpg för att komma åt bilden direkt så skriver du http://någonsite.se/LoadImage.aspx?ImageID=135

För att det inte ska gå att komma åt bilden direkt måste du lägga in en kontroll som kan fastställa att img-taggen ligger på rätt sida. Det är däri det bökiga ligger.
tydal är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-06-15, 13:54 #5
tydal tydal är inte uppkopplad
Medlem
 
Reg.datum: May 2005
Inlägg: 130
tydal tydal är inte uppkopplad
Medlem
 
Reg.datum: May 2005
Inlägg: 130
Men jag kan väl lika gärna berätta hur man gör...

På html-sidan så skapar du ett slumptal för varje bild. Slumptalet sparas på servern, exempelvis i en databas. Därefter anger du slumptalet på bild-länken, exempelvis http://någonsite.se/LoadImage.aspx?I...umptal=4927581

I LoadImage.aspx som plockar fram bilderna så kontrolleras om slumptalet finns sparat. Finns det på servern så visas bilden och slumptalet tas bort.
tydal är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-06-15, 14:13 #6
Fluffe Fluffe är inte uppkopplad
Nykomling
 
Reg.datum: Jul 2004
Inlägg: 44
Fluffe Fluffe är inte uppkopplad
Nykomling
 
Reg.datum: Jul 2004
Inlägg: 44
Citat:
Originally posted by tydal@Jun 15 2005, 13:54
Men jag kan väl lika gärna berätta hur man gör...

På html-sidan så skapar du ett slumptal för varje bild. Slumptalet sparas på servern, exempelvis i en databas. Därefter anger du slumptalet på bild-länken, exempelvis http://någonsite.se/LoadImage.aspx?I...umptal=4927581

I LoadImage.aspx som plockar fram bilderna så kontrolleras om slumptalet finns sparat. Finns det på servern så visas bilden och slumptalet tas bort.
Antar att du menar, som de tidigare inläggen, att LoadImage.aspx plockar fram bilden genom att länka direkt i filsystemet? (eller vad man nu ska kalla det) Ex:d:\home\testsite\bilder\bild10.jpg.

Har varit inne på denna lösningen, men problemet jag då fick är att firefox inte visar bilderna. Fungerar bra i explorer. Några förslag på hur man får det att fungera även i Firefox?
Fluffe är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-06-15, 14:17 #7
tydal tydal är inte uppkopplad
Medlem
 
Reg.datum: May 2005
Inlägg: 130
tydal tydal är inte uppkopplad
Medlem
 
Reg.datum: May 2005
Inlägg: 130
Om det inte fungerar är det förmodligen något som är fel. Internet Explorer sväljer tyvärr alldeles för många felaktigheter, så det är ingen bra webbläsare att testa i. Jag skulle gissa på att du inte har satt rätt mimetyp, dvs inte talat om vad det är för sorts fil som kommer. "Content-Type: image/jpeg".

Har du någon länk till en sida där du har lagt upp bilderna på detta vis så kan jag kolla vad det är för fel.
tydal är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-06-15, 14:27 #8
Fluffe Fluffe är inte uppkopplad
Nykomling
 
Reg.datum: Jul 2004
Inlägg: 44
Fluffe Fluffe är inte uppkopplad
Nykomling
 
Reg.datum: Jul 2004
Inlägg: 44
Nä, kör allt lokalt för tillfället. Hur förbereder jag rätt mimetyp?
Fluffe är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-06-15, 14:28 #9
tydal tydal är inte uppkopplad
Medlem
 
Reg.datum: May 2005
Inlägg: 130
tydal tydal är inte uppkopplad
Medlem
 
Reg.datum: May 2005
Inlägg: 130
Du måste skriva "Content-Type: image/jpeg" på headern. Antar att du använder asp och vet inte hur man gör där. Jag har något svagt minne av Response.ContentType = "image/jpeg" men är inte säker.
tydal är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-06-15, 17:03 #10
Roberts avatar
Robert Robert är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jan 2004
Inlägg: 2 103
Robert Robert är inte uppkopplad
Klarade millennium-buggen
Roberts avatar
 
Reg.datum: Jan 2004
Inlägg: 2 103
Page.Response.ContentType = "image/jpeg" även i .Net, men det går väl att använda Page.Response.AppendHeader(name as string, value as string) om du vill bygga din egen header.

Föresten, du nämnde aspx så då antar jag att du kör .net eller? Då kan du väl lägga en web.config fil i valfri map om du vill specialsätta regler för just den mappen. Kolla upp om det går med just säkerhet. Tänk på att alla förfrågningar till filer paserar inte .net "motorn" utan skickas av IIS'en på sidan om. Detta borde göra så att du kan ha olika rättigheter för filerna (dvs anonymous) och sedan låta din aspx-kod impersonate ett annat konto med andra rättigheter...? jaja, bara lite idéer som dök upp.
Robert är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 16:00.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017