PHP: getenv(HTTP_REFFERER);
ASP: adres = Request.ServerVariables("HTTP_REFFERER")
SSI: < !--echo var="HTTP_REFFERER"- >
Perl: if ($ENV{'HTTP_REFERER'} =~ /experts-exchange\.yahright\.com/)
Apache: $ENV{HTTP_REFERRER}
ISAPI: GetServerVariable("HTTP_REFERER", szReferer, &dwReferer);
Dus alleen data parsen als de refferer van jouw site is. Dus als gelinkt wordt of direct intypen in de addressbar dan werkt het niet. Ook bij DownloadAccelerator en aanverwanten.
De enige reden dat het niet gaat werken in normale omstandigheden zou zijn als er Http-headers gestript worden door Firewalls, ISP, Proxies, Anonimizers en dergelijke...
Gevonden met Google, een AntiLeech PHP Script:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| <?
/* Anti-leech bandwidth protecter by Corey Milner, http://www.odey.com.
Turn the refererring URL into a variable */
$from = getenv("HTTP_REFERER");
/* Check to see if the URL in the variable is a valid referrer. Add the
page URL which you would like people to arrive from here. */
if ($from != "http://www.yoursite.com/validpage.htm")
/* If the URL is valid, page loads now */
/* If URL is invalid the following error message and proper link appears,
enter your custom error message and a hyperlink to the valid URL you
entered above here*/
{print(" Sorry you have tried to link to a page which does not accept
visitors directly. <br>
<a href=http://www.yoursite.com/validpage.htm>CLICK HERE</a> to enter");
/* Prevent the rest of the page from loading */
exit;}
?> |
Bron:
http://archives.neohapsis.com/archives/php/2001-01/0031.html
en nog een aantal
Perl,
ModPerl + SSI &
ISAPI voorbeelden.
Het leuke van Http_Refferer is dat hij ook gespoofed kan worden door iedereen met TelNet (of een packetfilter/firewall):
code:
1
2
3
4
| telnet www.yoursite.com 80 (enter)
GET /index.html HTTP/1.0 (enter)
Referer: http://www.hah-hah.com (enter)
(nog een keer enter) |
Geocities directimageblock kun/kon je misleiden door een zooi JPG's erneer te pletten en ze te renamen naar .TXT extentie maar dan wel aan te roepen als:
code:
1
| <IMG="voorbeeld.txt wisth=90 hight=10 border=0 alt="voorbeeld JPGtje"> |
Misschien is
ISAPI+Authentication Filter en
Apache Directive dan veiliger en minder spoofbaar ?
Als je bandbreedte wilt besparen op je plaatjes is een
offsite image-database zo gek nog niet...
Sorry, ik ben geen PHP progger noch een IIS gebruiker, dus een uitgebreid antwoord zit er niet in...
[
Voor 248% gewijzigd door
Verwijderd op 24-12-2002 13:18
]