webForumDet fria alternativet

Blockera direktlänkning

ASPur ASP

10 svar · 520 visningar · startad av Maadde

Medlem sedan juni 20053 inlägg
Frågan#1

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

Medlem sedan juli 20041 183 inlägg
#2

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...

Medlem sedan apr. 20003 174 inlägg
#3

lilja skrev:

Du kan ju kolla vartifrån besökaren kommer med hjälp utav Request.ServerVariables("HTTP_REFERER").

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. :(

Medlem sedan juni 20034 013 inlägg
#4

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.

Medlem sedan aug. 20039 340 inlägg
#5

Palle skrev:

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.

Medlem sedan juli 20041 183 inlägg
#6

Precis, det finns enkla och det finns svåra sätt att lösa dett på. Varför skjuta en mygga med en elefantbössa? :P

Medlem sedan juni 20014 290 inlägg
#7

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).

http://www.gunnard.se/tipstrix/apache.phtml#10

Så har jag gjort på några ställen och märker att den stoppar en del hotlänkning.

Medlem sedan aug. 20039 340 inlägg
#8

GunnarD skrev:

(en del brandväggar nollar referrer variabeln).

Inte bara det, man kanske vill att ens besokare ska kunna skriva in bildadressen i adressfaltet.

Medlem sedan apr. 20003 174 inlägg
#9

nitro2k01 skrev:

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? :)

Medlem sedan maj 200010 687 inlägg
#10

Palle: Man är ju så smart att man accepterar både rätt HTTP_REFERER och tom HTTP_REFERER.

Det är ju så GunnarD och nitro2k01 menar att man ska göra.

Medlem sedan aug. 20039 340 inlägg
#11

Aha! Men som GunnarD namnde, och som jag samtycker med, sa bor man slappa igenom aven en tom referrer. (Och garna aven vardet "blockedReferrer" :) )

140 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)