Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » Bestimmte Referer umleiten/sperren ? Antworten
Bestimmte Referer umleiten/sperren ?

Rieke
Foren-Team


Beiträge: 1503


Hat jemand vielleicht eine Anleitung/Beispiel für folende Verwendung:


Ein Projekt wird wiefolgt aufgerufen, entweder
domain.de oder
domain.de/index.php?sid=abc123 und später :
subdomain_des_users.domain.de (durch modifizierung der httpd.conf
landen Subdomains auf der domain.de und holen sich (durch entsprechenden code der index) aus einer Datenbank dann die entsprechende User id.


Egal welche dieser Möglichkeiten genutzt wird : DAS soll weiterhin funktionieren !

ABER:

ich-bin-ein-traffik-produzent.xy/cgi-bin/mist-tool.cgi?spammuser=abc

Oder:

Spammailer9999.xy/mailer.php?spammuser=xxx

exit-seiten-anbieter.xy/nerv-den-user-tot.php?uid=99999993

diese Adressen (ein teil davon) sollen in eine datenbank (blacklist) eingetragen werden
und dann NICHT funktioniern...

Lösungsidee ...?


Greets
Rieke



---
Blumenbeet

  Profil   E-Mail   Website   Editieren   Zitieren

c3o
Posting-Schinder


Beiträge: 586


Wenn ich dich richtig verstanden habe..

Die Sei-freundlich-zu-Firewalls-Variante:
<?
$gebanntedomains = array('xyzspam.de', 'exitpopup.at', 'trafficmagnet.com');
$ref = parse_url($HTTP_REFERER);
for ($i=0;$i<count($gebanntedomains);$i++) {
if (stristr($ref[host], $gebanntedomains[$i])) { Header('Location: sorry.html'); exit(); }
}
?>

Die strenge Variante:
<?
$ref = parse_url($HTTP_REFERER);
if (!stristr($ref[host], 'meinedomain.de')) { Header('Location: sorry.html'); exit(); }
?>

Aber: Da Referrer von der Software geschickt werden kann man sie ohne Probleme faken, wirksamer Schutz ist das also keiner.

  Profil   E-Mail   Website   Editieren   Zitieren

Rieke
Foren-Team


Beiträge: 1503


Ich denke du hast es richtig verstanden.
Ich hatte die Hauseigene Firewall nicht bedacht und daher
wurden mir grundsätzlich keine Referer übergeben, dieses
Problem ist soweit gelöst, allerdings führt das einbauen deines Beispieles
bei mir irgendwie dazu das sämtliche Aufrufe nun die sorry.html anzeigen...

Eine Idee was ich falsch mache ?

<?
$gebanntedomains = array('time2recast.de', 'exitpopup.at', 'trafficmagnet.com');
$ref = parse_url($HTTP_REFERER);
for ($i=0;$i<count($gebanntedomains);$i++) {
if (stristr($ref[host], $gebanntedomains[$i])) { Header('Location: sorry.html'); exit(); }
}
?>

ich rufe die domain /datei über einen link aut time2recast.de auf.



---
Blumenbeet

  Profil   E-Mail   Website   Editieren   Zitieren

c3o
Posting-Schinder


Beiträge: 586


Ähm, $gebanntedomains, wie der Name schon andeutet, sollte eine Liste der Domains sein, von denen kommend man auf die sorry.html umgeleitet wird.
Wenn du also time2recast dort reingibst, wird man von time2recast auf sorry umgeleitet. Den Namen der eigenen Seite brauchst du bei dieser Methode nirgends eingeben, nur die zu blockierenden.

  Profil   E-Mail   Website   Editieren   Zitieren

Rieke
Foren-Team


Beiträge: 1503


genauso sollte es ja auch sein,
ich wollte zu Testen halt nicht mehr über die time2recast zugreifen können ... das funktionierte ja auch ... leider konnte ich dann auch nicht mehr direkt auf die seite zugreifen, sondern lande immer bei jedem aufruf egal von wo .. immer auf der danke.html ...

Greets
Rieke


---
Blumenbeet

  Profil   E-Mail   Website   Editieren   Zitieren
 

Antworten
Nach oben