# anti leech script



## ReemE (26. Dezember 2002)

Sers Leude !!

Also ich will für meine Homepage ein Antileech Script über Java Script einbauen.. Hab das so ähnlich auch schon mal gesehen, aber ich hab leider kein Plan von JS ...
das sin im grunde nur n paar zeilen ...

MEINE IDEE:

Wenn jemand auf die Seite  http://www.hallo.de/downloads.html geht, soll am Anfang, der Seite überprüft werden ob der User von der Seite http://www.hallo.de/index1.html kommt ... Kommt der von dort, soll die Seite ganz normal angezeigt werden ... KOmmt er nich dorther, dann soll man automatisch auf die Seite http://www.hallo.de/antileech.html weitergeleitet werden ...


Das sollte eigentlich Recht einfach gehen ...

greez und THX

ReemE


----------



## Bastian von Halem (27. Dezember 2002)

Ich glaube so oder so ählich müsste es funktionieren:

Im HEAD:


```
<script language="javascript">
if(document.referer != "http://www.mydomain.de/index.htm") 
 window.location="http://www.mydomain.de/antileech.htm";
</script>
```

Das ist aber kein 100%iger Schutz. Wenn du sicher gehen willst musst du PHP oder CGIs verwenden (also Serverseitigen Schutz anstatt Clientseitig), in 99% der Fälle reicht der Javascript aber aus.


----------



## ReemE (27. Dezember 2002)

sorry, falls ich jetzt so dumm frage, aber was is das was ??

die IF schleife is das Abfragen ob er von der Seite x kommt, wenn nein, dann auf y .. wo is das aba dass wenn es stimmt ??

Is das schon eingebaut ?!?

und was heisst der Operator:  !=

MFG

ReemE


----------



## Bastian von Halem (28. Dezember 2002)

Wenn der Ausdruck zutrifft (!= nicht gleich) ist wird eine andere Seite aufgerufen, ansonsten bleibt man auf der aufgerufenen Seite (es passiert nichts weiter). Du könntest mit "else" auf eine andere Seite verweisen falls der/die Ausdruck/Kondition falsch ist.

if(Ausdruck) x(); else y();


----------



## Arne Buchwald (1. Januar 2003)

> _Original geschrieben von Bastian von Halem _
> *Das ist aber kein 100%iger Schutz. Wenn du sicher gehen willst musst du PHP oder CGIs verwenden (also Serverseitigen Schutz anstatt Clientseitig), in 99% der Fälle reicht der Javascript aber aus. *


Sorry, aber da muss ich dir widersprechen. Sicher ist weder ein clientseitiger noch serverseitiger Schutz. Du kannst einem Browser einen beliebigen Referer vortäuschen - auf jeden Fall, wenn man programmieren kann ;-)


----------



## Matthias Reitinger (11. Januar 2003)

1. Was hat das mit CGI, Perl oder Java zu tun?
2. Was zum Teufel ist eine if-Schleife?

Sorry für OT/Meckern


----------



## Arne Buchwald (11. Januar 2003)

> _Original geschrieben von reima _
> *1. Was hat das mit CGI, Perl oder Java zu tun?
> 2. Was zum Teufel ist eine if-Schleife?
> *


Zu 1): Stimmt, jedoch war ich bei meinem Posting noch kein Mod. Ich verschiebe das ganze mal.

Zu 2): Eine if-Schleife gibt es nicht - nur eine if-Abfrage


----------



## Peter Bönnen (11. Januar 2003)

Sorry, aber ich komm einfach nicht drauf, was für einen Sinn dieses Script haben soll, wenn es lediglich den Aufruf der "download.html" von einem ungültigen Referrer verhindern soll.

Antileech Scripte sind doch wohl dazu gedacht, größere Dateien vor dem Download zu schützen, wenn nicht vorher die eigene Seite aufgerufen wurde. Bei der gewünschten Technik über JavaScript kann ich aber doch immer noch von einer fremden Seite auf eine beliebige downloadbare Datei verlinken, ohne von irgendeinem Script gehindert zu werden.

Der einzige sichere Weg führt nach meiner Einschätzung auf jeden Fall über eine Ausgabe der Downloaddatei durch z.B. ein PHP Script. Die Sicherstellung eines berechtigten Downloads ließe sich dann natürlich weiterhin über den Referrer, aber auch z.B. über Sessions realisieren.

Auch wenn das Ganze vom Thema JavaScript weggeht, hier der Link zum Thema "Dateidownload" im PHP-FAQ: http://www.dclp-faq.de/q/q-datei-download.html

Sorry, wenn's nicht hilft, aber JavaScript halte ich für gänzlich ungeeignet für ein Antileech Script. Wobei auch Antileech Scripte nur Sinn bei großen Downloadzahlen und begrenztem Traffic machen. Und wenn man vor so einer Situation steht, sollte man doch eigentlich zumindest serverseitig CGI's ausführen können.

Naja, ich schweife extrem ab und laber wieder zu viel...

so long, Fluke


----------

