Auch nach dem Artikel auf unserem Blog, und dem reichlichen Zuspruch dazu scheint man bei referertrick.com/net/de keine Notwendigkeit zu sehen mit der Spamerei wenigstens für bestimmte Domains aufzuhören.
Das finden wir sehr ärgerlich, zumal wir die entsprechenden Domains im “Sperrformular” auf der Seite eingetragen haben, Wirkung ganz offenbar Null.
Möglicherweise muss man, da man den Anbieter offenkundig nicht dazu bringen kann die Spamerei zu unterlassen, die Kunden des Unernehmens auf Ihr Tun und die daraus entstehenden Folgen hinweisen. Übrigens, teilweise wird sogar öffentlich gemacht welcher Kunde gerade von welchem Server aus Webseiten mit Werbespam zuschüttet. Schon recht mutig sich auf diese Weise sozusagen öffentlich an den Pranger zu stellen.
Um dem Kunden einen entsprechenden Hinweis zu hinterlassen adaptieren wir die Technik die das Unternehmen benutzt, mit einer kleinen Erweiterung des ursprünglichen PHP Skriptes ist es möglich auf Spamrequests mit einer entsprechenden Antwort zu reagieren.
Im Beispiel schauen wir nach von welcher IP der Request kommt, stehen unsere 3 bislang erkannten IPs (Server 4 wurde, zumindest bei uns, noch nie benutzt, möglicherweise mangels Aufträgen?) als Absender fest schicken wir einen HTTP Request mit manipuliertem Referrer heraus der übrigens das Minimum an Last erzeugt da lediglich der HTTP Header gesendet aber keinerlei Daten angefordert werden. Um möglicherweise gestressten Systemen nicht weitere Last zuzumuten steht der Timeout bei 1, nach einer Sekunde wird also in jedem Falle abgebrochen. Als Referrer haben wir eine Seite genommen die klar machen soll warum es keine gute Idee ist Referrerspam zu betreiben nämlich http://www.stapis.de/nospam.html, selbstverständlich lässt sich auch eine andere Webseite einsetzen.
Hier der PHP Code :
<?php
if (getenv(’REMOTE_ADDR’) == “87.118.116.23″ || getenv(’REMOTE_ADDR’) == “87.118.82.66″ || getenv(’REMOTE_ADDR’) == “87.118.82.104″ && (getenv(’HTTP_REFERER’) != “”)) {
$parts = parse_url(getenv(’HTTP_REFERER’));
$target = $parts[host];
$fp = fsockopen($target, 80, $errno, $errstr, 1);
if ($fp) {
$out = “GET / HTTP/1.1\r\n”;
$out .= “Host: ” . $target . “\r\n”;
$out .= “Referer: http://www.stapis.de/nospam.html\r\n”;
$out .= “Connection: Close\r\n\r\n”;
fwrite($fp, $out);
fclose($fp);
}
exit;
}
?>
Dieses Skript kann man unter einem beliebigen Namen abspeichern und per include in beliebige Skripte laden. Da diesmal keine HTTP Weiterleitung ausgeführt wird muss das include nicht ganz am Anfang stehen, um Last zu vermeiden ist dies jedoch ratsam.
Nehmen wir an man speichert den obigen Codeschnipsel unter dem Namen “returning_message.php” würde der include Befehl also so aussehen :
include(”returning_message.php”);
Im Ergebnis bekommt der “Werbetreibende” einen Request zugesendet in dem die festgelegte Webseite als Referrer angegeben wird, was in den Logs desjenigen auftauchen sollte. Das passiert jedesmal wenn ein Spamrequest ausgeliefert wird.
Wir wissen natürlich nicht ob das wahrgenommen wird, denn Referrerspam (und letztendlich ist es ja die gleiche Tour die der “Werbetreibende” über den “Dienstleister” ja auch nur fährt) ist natürlich eine äusserst ineffektive “Werbeform” aber immerhin kann man so einen konkreten Hinweis hinterlassen ohne den “Werbetreibenden” konkret kontaktieren zu müssen.
Wir werden übrigens, wenn die Spamrequests nicht aufhören, als nächstes die “Werbetreibenden” anrufen und nachfragen warum Sie uns eigentlich mit Werbung zumüllen. Sollte es so weit kommen werden wir in Teil 3 dieses Artikels entsprechend berichten.