Har lite problem med att folk direktlänkar till bilder på min sida.
Finns det någon asp kod man kan använda sig av för att slippa detta, just nu ändrar jag namnet på mappen lite då och då vilket börjar bli lite jobbigt nu
Eller om det finns något annat sätt att blockera på en windows server
Du kan ju kolla vartifrån besökaren kommer med hjälp utav Request.ServerVariables("HTTP_REFERER"). Kontrollera om URL:en stämmer överens med din egen och så är saken klar. Stämmer den inte så kör en redirect med Response.Redirect("http://www.url.se"). Se till att göra detta tidigt i koden innan bilden visas...
Det man kan göra är att skapa tidsbegränsade bildlänkar. Det åstadkommer man genom att flytta ut bildfilerna utanför www-rooten så de inte är åtkomliga genom webbservern. I stället kan de bara kommas åt genom ett serverskript (asp i det här fallet, då) som kollar när länken genererades (med hash) och serverar bilden om det är inom tidsmarginalen, annars inte. Länkarna genereras av sidan som ska visa bilderna.
Tyvärr är detta idag en helt urkass lösning.
Något så enkelt som en brandvägg kan sätta detta ur spel.
Inte att rekommendera som en säker lösning mao. :(
Fast det var väl inte detta frågan egentligen handlade om? Referrer-checking är alldeles utmärkt för att göra det meningslöst för andra att hetlänka till bilder, och därmed sno bandbredd. Visst kan en referrer förfalskas (T ex brandvägg, specialverktyg) men då skulle varje besökare som besöker en hemsida som hetlänkar till dina bilder behöva ha den brandväggen installerad för att det ska fungera att se bilderna.
Alltså inte särskilt praktiskt, och kontentan är att den som vill hetlänka till dina bilder får en svåranvänd sida, och troligen väljer att inte hetlänka till dig.
/r Jag har hört att IIS har stöd för .htaccess, stämmer detta? Isf går det enkelt att implementera en lösning den vägen.
Eftersom många har med referrer variabeln så kan man checka om referrer variabel är rätt eller inte är satt alls (en del brandväggar nollar referrer variabeln).
Fast det var väl inte detta frågan egentligen handlade om? Referrer-checking är alldeles utmärkt för att göra det meningslöst för andra att hetlänka till bilder, och därmed sno bandbredd. Visst kan en referrer förfalskas (T ex brandvägg, specialverktyg) men då skulle varje besökare som besöker en hemsida som hetlänkar till dina bilder behöva ha den brandväggen installerad för att det ska fungera att se bilderna.
Alltså inte särskilt praktiskt, och kontentan är att den som vill hetlänka till dina bilder får en svåranvänd sida, och troligen väljer att inte hetlänka till dig.
/r Jag har hört att IIS har stöd för .htaccess, stämmer detta? Isf går det enkelt att implementera en lösning den vägen.
Nu ska vi se, vi kanske menar samma sak. :bla ;)
Vissa brandväggar gör det alltså omöjligt att läsa av HTTP_REFERER, anroper returnerar alltså inget alls.
Och finns där inget värde att jämföra med kommer inte bilden att kunna visas. (enligt det förslaget som lilja angav).
Ett psuedo exempel för ovanstående scenario:
If "" = "www.mydomain.com" Then
' visa bild..
Else
' leech..
End If
Detta skulle alltså leda till man inte ens kan se bilderna om man är besökare på sidan ifråga.
Är du med på vad jag menar? :)