Just nu i M3-nätverket
Gå till innehåll

Kontrollerad filnedladdning


joakimj

Rekommendera Poster

Finns det nån motsvarighet till .htaccess för NT eller nåt visst system som känner om om man är "inloggad"? Tex, man kan bara ladda hem en speciell fil om bara en viss sessionvariabel är satt? Eller måste man börja baka in filer i databaser då?

 

MVH Jocke

 

-------------------------------------------

Är det här jag ska ha mitt tuffa citat?

Länk till kommentar
Dela på andra webbplatser

gör ett inloggning script som sätter en viss session är den inte satt så kan man redirecta till en annan sida .. på så vis kommer man bara till en viss sida om det är rätt session som är satt...

 

//Henrik

--- utan tufft citat ---

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

Jag kanske inte var tydlig nog. Jag ber om ursäkt. När jag sa ladda hem menade jag inte en HTML/ASP-fil, utan tex en .zip. Här spelar ju ingen roll huruvida en session är satt. Kan man URL:en kan man ju hämta filen. Det är detta jag vill kontrollera.

 

Är det nån som har gjort detta?

 

MVH Joakim

 

-------------------------------------------

Är det här jag ska ha mitt tuffa citat?

 

Länk till kommentar
Dela på andra webbplatser

Verkar som det var en för svår nöt att knäcka. Jag ber om ursäkt om jag frågar för svåra frågor.

 

Joakim

 

-------------------------------------------

Är det här jag ska ha mitt tuffa citat?

 

Länk till kommentar
Dela på andra webbplatser

Magnus Gladh

Tja du kan ju ta bort rättigheten på filen för IUSR_<<datornamnet>>

 

Det betyder att så fort någon vill accessa filen så kommer en inloggningsrutan upp och man är tvungen att logga in för att kunna hämta filen...

 

Kanske inte riktig vad du hade tänkt dig, men jag tror ASP.NET skall lösa det du vill, så du kanske skall läsa på där...

----------------------------------------

- Magnus

- Nemo Saltat Sobrius

 

 

Länk till kommentar
Dela på andra webbplatser

lättaste lösningen av allt .. lägg inte ut filen, eller sätt ett lösenord på zippfilen .. du slipper krångel ...

 

jag är klart nyfiken över vad det är för filer som är så hemliga så att du måste lösenords skydda dem ...

 

 

Don't Underestimate The Power Of Esuk ...

 

Länk till kommentar
Dela på andra webbplatser

Magnus Ahlkvist

Jag skulle göra följande:

 

* Lägg filerna i en katalog som inte är åtkomlig från webben (om du har webb-roten i /inetpub/wwwroot lägger du filerna i ex.vis /files)

* Skapa en asp-sida som tar ett filnamn som argument (sidan.asp?filen=minfil.zip).

* Kolla om användaren är inloggad med hjälp av ngn sessions-variabel eller liknande.

* Om användaren _inte_ är inloggad, skriv ut ett inloggningsformulär, annars, skriv ut http-headers (content-type osv), läs in filen med filesystem-objektet och använd response.binaryWrite för att pusha ut den till browsern.

 

Ovanstående fungerar, även om jag föredrar att stoppa in filen i ett antingen OLE-fält (Access) eller ett blob-fält (SQL Server). Fördelen med databaser är att man kan lagra Content-type-strängen i databasen, så man inte behöver läsa in filändelsen och bestämma content-type med hjälp av den (det är inte alltid det gör sig).

Om du använder det senaste alternativet, gör:

använd ID-fältet från din databastabell för att hitta vilken fil du letar efter. I tabellen, spara även filnamn. Som argument till sidan som lämnar ut filen skickar du även med filnamnet, som _sista_ variabel i query-string.

Ex: sidan.asp?filID=1&filnamn=minfil.zip

Annars kan Internet Explorer 5.5 och 5.0 få för sig att den ska strunta i Content-type-headern som skickas.

 

Länk till kommentar
Dela på andra webbplatser

Det är till ett extranät, och inte till tuffa superpornowarez som folk kanske kan tro så fort något blir skyddat...

 

Men tack för ditt fina svar.

 

Joakim

 

-------------------------------------------

Är det här jag ska ha mitt tuffa citat?

 

[inlägget ändrat 2001-07-09 12:07:25 av joakimj]

Länk till kommentar
Dela på andra webbplatser

Lysande! Lysande!

 

Precis vad jag ville höra, tack! Du vet inga bra sidor som tar upp detta?

 

*poäng*

 

Joakim

 

-------------------------------------------

Är det här jag ska ha mitt tuffa citat?

 

Länk till kommentar
Dela på andra webbplatser

Har inte ditt web hotell någon upload komponent ? Dessa brukar ochså innehålla en nedladdnings funktion som är bättre (effektivare) att använda för dylika saker än att köra BinaryWrite i ASP scriptet.

 

Till exempel komponenten ASPUpload som brukar användas rätt mycket har en sådan funktion.

 

Länk till kommentar
Dela på andra webbplatser

Vet du flera uppladdningskomponenter än ASPUpload som stödjer "kontrollerad nedladdning"? Vill nämligen snickra ihop något som funkar även med andra komponenter, som tex W3.

 

Systemet ska gå att tillämpa lite varstans, utan att behöva skriva om allt för mkt kod, mao...

 

Jocke

 

-------------------------------------------

Är det här jag ska ha mitt tuffa citat?

 

Länk till kommentar
Dela på andra webbplatser

Jag tror att de flesta har liknande funktioner, till exempel SA Fileup:

http://www.safileup.com/softartisans/saf.html

 

Jag gjorde ochså själv en liten nedladdnings komponent i Java för ett par år sedan:

http://www.javathings.com/getfile.asp?file=JGetFile.zip

den kommer med kod och allt. Kolla i exempel ASP scriptet hur man använder den och readme filen för installation.

 

 

Länk till kommentar
Dela på andra webbplatser

Tack, jag kollar fn på FileUp och dess möjligheter.

 

Jocke

 

-------------------------------------------

Är det här jag ska ha mitt tuffa citat?

 

Länk till kommentar
Dela på andra webbplatser

... läs in filen med filesystem-objektet och använd response.binaryWrite för att pusha ut den till browsern...

 

Har nu löst allt utom själva 'utpushningen'. Det fungerar bara nästan. Binära filer fungerar inte alls, och asciifiler innehåller massa mellanslag. Ska man använda opentextfile() eller vad läser man in filen med? Hittar ingen annan metod för att läsa in filer... =/

 

Jag kanske ska tillägga att jag ska hämta en fil, och ingen BLOB.

 

Är det nån som kan detta eller har nåt exempel på hur man går tillväga?

 

Joakim

 

 

Länk till kommentar
Dela på andra webbplatser

Kunde du inte använda nån av komponenterna ? Blir nog något enklare, för att inte tala om effektivare.

 

 

 

Länk till kommentar
Dela på andra webbplatser

Det ska som sagt att kunna tillämpas lite varstans, alltså på olika webbhotell med olika komponenter. Även där den aktuella upladdningskomponenten inte stödjer den nedladdning du menar.

 

MVH Joakim

 

 

Länk till kommentar
Dela på andra webbplatser

Jag måste säga att jag tvivlar på att det kan funka med FileSystemObject eftersom det inte finns något sätt att läsa binära filer utan endast text filer.

 

Det går nog bra med text och html men binära filer lär du får problem med.

 

Jag har aldrig känt ett behov av att testa det du försöker göra utan har använt komponenter för dylikt, min egen komponent funkar bra för just det ändamålet.

 

Den som föreslog det från början kanske har någon idé men jag tror nog att du måste använda en komponent av skälet som jag beskrev ovan.

 

Länk till kommentar
Dela på andra webbplatser

Jo, Magnus Ahlkvist, eller någon annan som kan för all del, kan ju skriva ett inlägg som förklarar lite mer hur detta skulle gå till.

 

Nibbler, har du hållt på mkt med FileUp, förresten? Hur jag än gör hamnar alla uppladdade filer i min tempkatalog. Är detta en 'feature' i demoversionen?

 

Jag kanske ska tillägga att: Ja, jag har definerat upl.Path...

 

 

Jocke

 

-------------------------------------------

Är det här jag ska ha mitt tuffa citat?

 

[inlägget ändrat 2001-07-13 13:17:16 av joakimj]

Länk till kommentar
Dela på andra webbplatser

Nej men däremot med ASPUpload.

 

Det kanske är en begränsning i demon men då borde det stå någonstans tycker man.

 

Länk till kommentar
Dela på andra webbplatser

Ja, man tycker ju det... Det är så på två olika burkar också.

 

Nu har jag iaf fixat nerladdningen via FileUp. Det funkar finemang! Då kan BinaryWrite ta sig i räääva! ;)

 

Tack för att du orkar med mig, Nibbler ;)

 

Jocke

 

-------------------------------------------

Är det här jag ska ha mitt tuffa citat?

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...