Erweiterte Linkprotection

Avariel

Erfahrenes Mitglied
Hallo zusammen,

ich hab mir hier ein Script gesucht, das dafür sorgen soll das von einer Seite keine Links wegentführt werden können. Konkret gehts darum das von der Seite immer öfters Musiksamples bei anderen Seiten als Hintergrundmusik verlinkt werden. Das soll allerdings nur einigen speziellen Domains erlaubt werden. Wäre schön wenn sich mal jemand das von mir angepasste Script anschauen könnte ob das passt, da ichs leider ungetestet weitergeben muss :(
PHP:
<?php 
$from = getenv("HTTP_REFERER"); 
if ($from != "http://www.link1.de") or ($from != "http://www.link2.de") or ($from != "http://www.link3.de") { 
print("Sorry you have tried to link to a page which does not accept leeching. Click the link below to continue. <br> 
<a href=http://www.link1.de>CLICK HERE</a> to enter"); 
exit; 
} 
?>
Insbesondere im Bereich der OR-Verknüpfungen bin ich mir nicht hundertprozentig sicher ob ich von der Syntax usw alles richtig hab.

Schonmal danke im vorraus!
 
Hi!

Du musst auf alle Fälle alle Bedingungen des If-Satzes in eine Klammer setzen:
if (($from != "http://www.link1.de") or ($from != "http://www.link2.de") or ($from != "http://www.link3.de")) ...

Ansonsten sieht es (bis auf deinen Programmierstil) ganz gut aus.

Schöner ließe sich das Hinzufügen / Warten von den erlaubten Seiten durch ein Array lösen:

PHP:
$erlaubt = array(
'http://www.seite1.de',
'http://www.seite2.de',
'http://www.seite3.de');

if (!in_array($fromURL, $erlaubt)) {
  echo 'Sorry ....';
  exit;
  }

Mamphil
 
Dankeschön :)
Mir fehlt ganz gewaltig die Praxis.. mach sowas zu selten.
Bei Schleifen schauts noch schlimmer aus :-(
 
Könnte allerdings Probleme geben, wenn die Browser der Leute, denen du den Zugriff erlaubst, keinen Referer unterstützen, da sie den gar nicht mitschicken.

Dann stehste nämlich da :(

Besser wärs wahrscheinlich, wenn du in einer Datenbank die erlaubten Seiten speicherst und in deinem Skript die Basis-Adresse abfrägst, auf der das Skript bei deinen "Usern" installiert wird, ob die mit deiner Datenbank überinstimmt
 
Hi!
Original geschrieben von shutdown
Besser wärs wahrscheinlich, wenn du in einer Datenbank die erlaubten Seiten speicherst und in deinem Skript die Basis-Adresse abfrägst, auf der das Skript bei deinen "Usern" installiert wird, ob die mit deiner Datenbank überinstimmt
Was meinst du denn damit?

Letztendlich könntest du überprüfen, ob der Referrer leer ist oder überhaupt gesetzt wurde. (isset() bzw. empty())

Mamphil
 
Anderer Lösungsansatz:
Fordere die Leute, die deine Dateien widerrechtlich benutzen, auf, dies zu unterlassen.

Dir entsteht dadurch wirtschaftlicher Schaden (Traffic/Urheberrechtsverletzung)....da dürfte jedes Gericht kurzen Prozess machen.
 
Fatalus, es geht um die Seite eines (kleineren) Plattenlabels..solcher Linkdiebstahl kommt da so extrem oft vor, dass man das einfach nicht mehr alles Fall für Fall unterbinden kann.
Ich hab allein ein Lied von einer Band in der letzten Woche zufällig zweimal in Blogs verlinkt gesehen. Weite das auf 12 Bands mit n bisschen mehr Liedern und vielleicht noch nicht nur auf Blogs sondern auch auf Websites aus, dann hast du vielleicht ne Vorstellung vom Maßstab ;)
 
Was meinst du denn damit?

Letztendlich könntest du überprüfen, ob der Referrer leer ist oder überhaupt gesetzt wurde. (isset() bzw. empty())

Was ich damit mein?
Ganz einfach: Man wird doch wissen, von welchem "Unter-Anbieter" der Zugriff auf deine Dateien erlaubt ist. Und er will mit dem Link auf die Lieder einen PHP-Code mit ausgeben, der dann vom Unter-Anbieter lokal installiert wird. Somit kann er die Basis-Adresse des Unteranbieters auslesen und mit seiner Datenbank vergleichen. Taucht er in der Datenbank nicht auf, wird der Zugriff gesperrt.


Zu deinem Referer: Völliger Unsinn zu prüfen, ob der leer ist. Darauf hat nämlich weder er noch der Unteranbieter Einfluss, das ist allein Sache des Endnutzers und seines Browsers.
==> Alle Nutzer, die diese Funktion deaktiviert haben, kommen auch auf erlaubten Seiten nicht zu ihren Daten, was dadurch die Funktionalität des Angebots absolut einschränkt.
 
shutdown hat gesagt.:
Was ich damit mein?
Ganz einfach: Man wird doch wissen, von welchem "Unter-Anbieter" der Zugriff auf deine Dateien erlaubt ist. Und er will mit dem Link auf die Lieder einen PHP-Code mit ausgeben, der dann vom Unter-Anbieter lokal installiert wird. Somit kann er die Basis-Adresse des Unteranbieters auslesen und mit seiner Datenbank vergleichen. Taucht er in der Datenbank nicht auf, wird der Zugriff gesperrt.
Genau das macht er doch über den Referrer.


shutdown hat gesagt.:
Zu deinem Referer: Völliger Unsinn zu prüfen, ob der leer ist. Darauf hat nämlich weder er noch der Unteranbieter Einfluss, das ist allein Sache des Endnutzers und seines Browsers.
==> Alle Nutzer, die diese Funktion deaktiviert haben, kommen auch auf erlaubten Seiten nicht zu ihren Daten, was dadurch die Funktionalität des Angebots absolut einschränkt.
Na also, macht es doch Sinn!

Wenn kein Referrer mitgeschickt wird, kann der Dateizugriff freigegeben werden. Wenn der Referrer gesetzt ist und nicht zur Liste der erlaubten Seiten gehört (was ja geprüft werden soll), kann der Zugriff verweigert werden.

Mamphil
 
Zurück