/ 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
Indsætte billeder gemt bag wwwRoot?
Fra : Ukendt


Dato : 07-01-07 09:30

Hej,

Min ISP giver ikke mulighed for skrive rettighed med ASP upload til mapper
over wwwRoot.
Med ASP upload kan brugere uplode filer (billeder) til en mappe bag wwwRoot,
og i en database markeres filen som offentlig eller privat, jeg har brug for
at vise billederne markeret som offentlig på en asp side uden at brugeren
skal gennem en download dialog som på
http://www.fladbrovej.dk/clc/db-link/infoPublic.asp .
Med HTML kan jeg ikke pege på en sti bag wwwRoot!
Er det muligt at indsætte filerne markeret offentlig på en side med et asp
script, ved at udvælge filerne fra databasen?
Jeg kan vise ET valgt billede med nedenstående script men brugeren skal
vælge Gem/Åbn, kan scriptet ændres så filen/filerne indsættes på en side?
<%
Dim DocFileName
DocFileName = rs("FileName")

Dim objStream

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

Const adTypeBinary = 1
objStream.Type = adTypeBinary
objStream.Open
Response.AddHeader "content-disposition","attachment; filename=" &
DocFileName
objStream.LoadFromFile Server.MapPath("../../../xxxxfiles/" & DocFileName)

Response.BinaryWrite objStream.Read

objStream.Close
Set objStream = Nothing
%>

God weekend
Henning



 
 
Jesper Lund Stocholm (08-01-2007)
Kommentar
Fra : Jesper Lund Stocholm


Dato : 08-01-07 22:13

"Henning Smed Sørensen" <Henning snabela smeds dot dk> wrote in
news:45a0af87$0$4166$d40e179e@nntp02.dk.telia.net:

> jeg har brug for at vise billederne markeret som offentlig på en asp
> side uden at brugeren skal gennem en download dialog som på
> http://www.fladbrovej.dk/clc/db-link/infoPublic.asp .

> Response.AddHeader "content-disposition","attachment; filename=" &
> DocFileName

Prøv at slette ovenstående linie og i stedet skrive:

Response.ContentType = "image/jpeg"

.... og lav generelt en søgning på Response.ContentType via google for
at finde ud af, hvad den kan.



--
Jesper Lund Stocholm
http://lundstocholm.dk
Google Map mockup: http://map.lundstocholm.dk

Ukendt (11-01-2007)
Kommentar
Fra : Ukendt


Dato : 11-01-07 15:22


"Jesper Lund Stocholm" <j@lundstocholm.invalid> wrote in message
news:Xns98B2E20F89E01lundstocholmdk@130.225.247.90...
> "Henning Smed Sørensen" <Henning snabela smeds dot dk> wrote in
> news:45a0af87$0$4166$d40e179e@nntp02.dk.telia.net:
>
>> jeg har brug for at vise billederne markeret som offentlig på en asp
>> side uden at brugeren skal gennem en download dialog som på
>> http://www.fladbrovej.dk/clc/db-link/infoPublic.asp .
>
>> Response.AddHeader "content-disposition","attachment; filename=" &
>> DocFileName
>
> Prøv at slette ovenstående linie og i stedet skrive:
>
> Response.ContentType = "image/jpeg"
>
> ... og lav generelt en søgning på Response.ContentType via google for
> at finde ud af, hvad den kan.
>
Hej Jesper,

Tak for dit svar, ja jeg kan vise et skalerbart billede med
'Response.ContentType = "image/jpeg"' og nedenstående kode på
http://www.fladbrovej.dk/clc/files/testDownload.asp , men jeg kan ikke
indsætte koden på en html side og vise et eller flere billeder.
<%
Dim objStream
Set objStream = Server.CreateObject("ADODB.Stream")
Const adTypeBinary = 1
objStream.Type = adTypeBinary
objStream.Open
objStream.LoadFromFile
Server.MapPath("../../../xxxxxx/Sample_Picture08.jpg" )
response.ContentType="image/JPEG"
Response.BinaryWrite objStream.Read
objStream.Close
Set objStream = Nothing
%>

Mvh
Henning



Jens Gyldenkærne Cla~ (11-01-2007)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 11-01-07 15:33

Henning Smed skrev:

> Tak for dit svar, ja jeg kan vise et skalerbart billede med
> 'Response.ContentType = "image/jpeg"' og nedenstående kode på
> http://www.fladbrovej.dk/clc/files/testDownload.asp , men jeg
> kan ikke indsætte koden på en html side og vise et eller flere
> billeder.

Du skal bruge to asp-filer. Den ene er den der viser/genererer dine
billeder (som den du omtaler herover).

Den anden er en normal asp-fil hvor du lægger billederne ind på
samme måde som i en flad html-fil - med <img src="xxx">. I stedet
for at angive billedets direkte adresse, angiver du så din
billedgenererende asp-fil som src (fx <img src="pic.asp?id=42">)

Fil nr 2 kan i princippet fint være en flad html-fil - pointen er
bare at du ikke kan have én fil der både fungerer som billede og
som html-side på samme tid.
--
Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
eller Brønshøj, max 6000 pr. måned.
Kontakt pr. mail - nospam(at)gyros.dk
Jens Gyldenkærne Clausen

Ukendt (11-01-2007)
Kommentar
Fra : Ukendt


Dato : 11-01-07 15:47


"Jens Gyldenkærne Clausen" <jens@gyros.invalid> wrote in message
news:Xns98B59E39BE203jcdmfdk@gyrosmod.dtext.news.tele.dk...
> Henning Smed skrev:
>
>> Tak for dit svar, ja jeg kan vise et skalerbart billede med
>> 'Response.ContentType = "image/jpeg"' og nedenstående kode på
>> http://www.fladbrovej.dk/clc/files/testDownload.asp , men jeg
>> kan ikke indsætte koden på en html side og vise et eller flere
>> billeder.
>
> Du skal bruge to asp-filer. Den ene er den der viser/genererer dine
> billeder (som den du omtaler herover).
>
> Den anden er en normal asp-fil hvor du lægger billederne ind på
> samme måde som i en flad html-fil - med <img src="xxx">. I stedet
> for at angive billedets direkte adresse, angiver du så din
> billedgenererende asp-fil som src (fx <img src="pic.asp?id=42">)
>
> Fil nr 2 kan i princippet fint være en flad html-fil - pointen er
> bare at du ikke kan have én fil der både fungerer som billede og
> som html-side på samme tid.

Hej Jens,
Tak for svaret, ja jeg har ændrent siden
http://www.fladbrovej.dk/clc/db-link/infoPublic.asp så asp koden åbner 'jpg'
filer direkte og andre filer downloades.
Det jeg forsøger at bygge er en html/asp side side der henter og viser flere
billeder gemt bag wwwRoot.
Mvh
Henning



Leif Neland (11-01-2007)
Kommentar
Fra : Leif Neland


Dato : 11-01-07 17:08

Henning Smed wrote:
> Hej Jens,
> Tak for svaret, ja jeg har ændrent siden
> http://www.fladbrovej.dk/clc/db-link/infoPublic.asp så asp koden
> åbner 'jpg' filer direkte og andre filer downloades.
> Det jeg forsøger at bygge er en html/asp side side der henter og
> viser flere billeder gemt bag wwwRoot.

Husk at checkke for ulovlige tegn i filnavnet, der kan pege på andre mapper
end den, du vil åbne for.

Dit script stoppede mig ikke, da jeg forsøgte at hente
http://www.fladbrovej.dk/clc/files/File-download-public.asp?FileName=../../programmer/notepad.exe

Det var asp selv, der stoppede fordi den ikke kunne finde filen; hvis en
slem hacker havde mere tålmodighed og fantasi, så kunne han måske hente en
hvilkensomhelst fil på din maskine.

Stol aldrig blindt på input fra brugeren...

I stedet for at scriptet har filnavnet som parameter, så lad parametren være
et id-nummer.
Du kan lade fillisten ligge i en database, eller det kan være en tekstfil.
Både file-download-public.asp og infoPublic.asp bruger så listen til enten
at hente den rette fil eller lave oversigten.
Man kan endda forestille sig at file-download-public.asp indlæser
infoPublic.asp og parser den for at finde det rigtige filnavn, hvis linkene
i infoPublic.asp er skrevet standardiseret, f.ex. således:
<a href='file-download-public.asp?id=1' alt='filnr1.exe'>Mit program</a>

Ud fra referer ved file-download-public.asp hvilken side den er kaldt fra,
og querystring giver hvad der skal ledes efter.

Men så er vi tilbage til at du skal sikre dig at referer er din egen side og
ikke en hackers...

Leif



Ukendt (12-01-2007)
Kommentar
Fra : Ukendt


Dato : 12-01-07 08:36


"Leif Neland" <leif@neland.dk> wrote in message
news:45a660d0$0$49200$14726298@news.sunsite.dk...
> Henning Smed wrote:
>> Hej Jens,
>> Tak for svaret, ja jeg har ændrent siden
>> http://www.fladbrovej.dk/clc/db-link/infoPublic.asp så asp koden
>> åbner 'jpg' filer direkte og andre filer downloades.
>> Det jeg forsøger at bygge er en html/asp side side der henter og
>> viser flere billeder gemt bag wwwRoot.
>
> Husk at checkke for ulovlige tegn i filnavnet, der kan pege på andre
> mapper end den, du vil åbne for.
>
> Dit script stoppede mig ikke, da jeg forsøgte at hente
> http://www.fladbrovej.dk/clc/files/File-download-public.asp?FileName=../../programmer/notepad.exe
>
> Det var asp selv, der stoppede fordi den ikke kunne finde filen; hvis en
> slem hacker havde mere tålmodighed og fantasi, så kunne han måske hente en
> hvilkensomhelst fil på din maskine.
>
> Stol aldrig blindt på input fra brugeren...
>
> I stedet for at scriptet har filnavnet som parameter, så lad parametren
> være et id-nummer.
> Du kan lade fillisten ligge i en database, eller det kan være en tekstfil.
> Både file-download-public.asp og infoPublic.asp bruger så listen til enten
> at hente den rette fil eller lave oversigten.

Hej Leif,

Tak for advarselen, mit script peger på folderen ../../../filmappe/ +
filnavnet så en ændring af URL til:
http://www.fladbrovej.dk/clc/files/File-download-public.asp?FileName=../../programmer/notepad.exe
vil pege på:
.../../../xxxxxxx/../../programmer/notepad.exe
Det vil ikke være muligt at udvælge en fil bag ../../../xxxxxxx/ og
'xxxxxxx/' indeholder ingen foldere. Men der er ingen grund til at have
muligheden for at udvælge en anden mappe åben.

Jeg har overset muligheden for at vise en fil som i databasen er markeret
som 'privat', hvis URL rettes til:
http://www.fladbrovej.dk/clc/files/File-download-public.asp?FileName=African.gif
visses et billede markeret som privat i databasen.
Jeg retter så det er databasens Id som udvælger filen, fordi det er mere
logisk at validere på om et Id nummer findes i databasen og om den valgte
fil er 'public' eller 'privat'

God weekend
Henning



Jørn Andersen (12-01-2007)
Kommentar
Fra : Jørn Andersen


Dato : 12-01-07 17:36

On Fri, 12 Jan 2007 08:35:56 +0100, "Henning Smed" <henning snabela
smeds.dk> wrote:

>Tak for advarselen, mit script peger på folderen ../../../filmappe/ +
>filnavnet så en ændring af URL til:
>http://www.fladbrovej.dk/clc/files/File-download-public.asp?FileName=../../programmer/notepad.exe
>vil pege på:
>../../../xxxxxxx/../../programmer/notepad.exe
>Det vil ikke være muligt at udvælge en fil bag ../../../xxxxxxx/ og
>'xxxxxxx/' indeholder ingen foldere.

Hmmm ... logisk set er:
../../../xxxxxxx/../../programmer/notepad.exe
vel det samme som:
../../../../programmer/notepad.exe
(i hvert fald hvis man læser fra venstre mod højre)

- men om serveren opfatter det på samme måde skal jeg ikke kunne sige.
Og om det kan blive et praktisk problem skal jeg heller ikke kunne
sige

Det kan afgøres med en praktisk test, hvor man formentlig (?) skal
anvende DOS-navnet (fx "progra~1") i stedet for langt filnavn
("programmer") som parameter.



Mvh. Jørn

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

Ukendt (13-01-2007)
Kommentar
Fra : Ukendt


Dato : 13-01-07 06:37


"Jørn Andersen" <jorn@jorna.dk> skrev i en meddelelse
news:4rdfq2hcc8opjqvshrgejmfuth1ait1ekn@4ax.com...
> On Fri, 12 Jan 2007 08:35:56 +0100, "Henning Smed" <henning snabela
> smeds.dk> wrote:
>
>>Tak for advarselen, mit script peger på folderen ../../../filmappe/ +
>>filnavnet så en ændring af URL til:
>>http://www.fladbrovej.dk/clc/files/File-download-public.asp?FileName=../../programmer/notepad.exe
>>vil pege på:
>>../../../xxxxxxx/../../programmer/notepad.exe
>>Det vil ikke være muligt at udvælge en fil bag ../../../xxxxxxx/ og
>>'xxxxxxx/' indeholder ingen foldere.
>
> Hmmm ... logisk set er:
> ../../../xxxxxxx/../../programmer/notepad.exe
> vel det samme som:
> ../../../../programmer/notepad.exe
> (i hvert fald hvis man læser fra venstre mod højre)
>
> - men om serveren opfatter det på samme måde skal jeg ikke kunne sige.
> Og om det kan blive et praktisk problem skal jeg heller ikke kunne
> sige
>
> Det kan afgøres med en praktisk test, hvor man formentlig (?) skal
> anvende DOS-navnet (fx "progra~1") i stedet for langt filnavn
> ("programmer") som parameter.

Hej Jørn,

Tak for din kommentar, det vil ikke blive noget problem jeg har ændret siden
og tilføjet validering, så det kun er muligt at hente de filer der er
markeret i databasen som 'Public'.

God weekend
Henning



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste