Jag har en länk i ett html-dokument till en fil som kan laddas ner. Nu vill jag inte att användaren skall kunna se var filen ligger som ju kan ses till vänster i statusbaren nät muspekaren ligger över länken till filen. Hur kan man komma runt det? Se t.ex. [onMouseOver] Ok, har ni något annat förslag på hur man efter inloggning på en site kan låta användaren ladda ner en fil. Det får väl bli nån annan variant än en vanligt http-länk då? Vem som helst skall inte kunna ladda ner filen bara för att de fått en länk, utan endast den som loggat in på siten med lösenord. Om det är små filer kan du göra såhär: Med JavaScript kan du som sagt "styra" den text som visas i statusfönstret, du kan även stänga av höger musknapp, windows-tangenterna som simulerar höger musknapp, F11 etc med JavaScript, i alla fall om du vet att besökaren kör Internet Explorer... för att försvåra det ytterligare kan du t ex efter det att användaren loggar in öppna ett nytt fönster utan statusfält överhuvudtaget och där menyn etc är borttagen så användaren inte kan välja "View Source"... Provade att streama ner filen på 400 k, men det funkade inte. Den blev bara 1 k när den hämtats till min hårdddisk. >Provade att streama ner filen på 400 k, men det funkade inte. Den blev bara 1 k när den hämtats till min hårdddisk. Kan man inte lägga filen, eller sökvägen till den i databasen och sen göra länken till en asp-sida som kollar i databasen efter sökvägen?Dölja adress i statusbar
Sv: Dölja adress i statusbar
Personligen tycker jag att det är irriterande när man inte ser vart en länk leder... Besökaren kan ju lätt ta reda på filens plats ändå, det står ju i rutan som visas när filen laddas ner och man kan ju även titta på källkoden för sidan för att se det...
/JohanSv: Dölja adress i statusbar
Sv: Dölja adress i statusbar
<code>
<%
If behörig Then
Response.ContentType = "application/octet-stream"
Response.AddHeader "Content-Disposition", "attachment;filename=produkt.xls"
Const adTypeBinary = 1
Dim strFilePath
strFilePath = Server.MapPath("../filer/produkt.xls")
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = adTypeBinary
objStream.LoadFromFile strFilePath
Response.BinaryWrite objStream.Read
objStream.Close
Set objStream = Nothing
End if
%>
</code>
/JohanSv: Dölja adress i statusbar
Men som det sägs ovan så syns det ändå när användaren väl laddar ner filen från din hårddisk, för att krångla till det ytterligare *funderar* skulle du kunna kopiera den eftersökta filen till en separat temp-mapp och sedan med ASP styra länken till denna, bara för att ta bort filen när den har laddats ner... då skulle ej inloggade inte komma åt filen, för den fanns ju bara där när den inloggade tog ner den...
Hm, sedan får man ju försöka skydda sig mot besökare som försöker kika på källkoden så långt de kommer åt, genom att på varje sida lägga in kontrollkod som ser till att koden verkligen körs i ditt nyöppnade, "skyddade", fönster, och att en request till varje sida på din webbserver verkligen kommer via lokala sidor (mha t ex HTTP_REFERER), detta för att besökaren inte skall kunna skriva egna html-sidor och simulera/lura din webbserver att ge ifrån sig sidor i onödan....
Lite krångligt, och som sagt, det tar bort en del av funktionaliteten i browsern som kanske gör att besökaren ledsnar och går nå'n annanstans... men lite krångligt kan man ju göra det om man vill... :-)
Tar tacksamt emot fler tips själv på vad man kan göra för att försvåra sådant här! :-) T ex när det gäller att skydda bilder på ens hemsidor (förutom med vattenstämplar), det går ju t ex att använda drag-and-drop på en bild på en hemsida, kan man stoppa detta sätt att "stjäla" en bild?!? :-)
<b>//Qez</b>Sv: Dölja adress i statusbar
Tack för hjälpen alla, det får bli nån JavaScript -variant med de brister som följer med..Sv: Dölja adress i statusbar
Det ska gå med stora filer också, bara det att det tar tid innan man kan börja hämta den samt att det tar mycket kraft av servern...
/JohanSv: Dölja adress i statusbar
/Jocke