Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Eigenes CPC-Script basteln - Ziel: vor Klickbetrug sicher

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
mgutt
PostRank 10
PostRank 10
Beiträge: 3206
Registriert: 08.03.2005, 13:13

Beitrag von mgutt » 20.08.2009, 16:40

Hi,

ich möchte mir gerne ein eigenes CPC-Script erstellen. D.h. ich suche mir Partner und jeden Besucher, den dieser mir vermittelt bringt ihm x Cent.

Nun wollte ich folgendes auf meiner Seite machen (der Partner bindet einfach nur meinen Link ein, sonst nichts):

1.) Tracking Cookie bei allen Besuchern setzen, so dass nur die vergütet werden, die unsere Seite nicht eh schon nutzen:

Code: Alles auswählen

if (!isset($_COOKIE['tid'])) {
	$now = time();
	$tid = md5(uniqid(mt_rand(), true));
	setcookie('tid', $tid, $now + 31536000, '/', $cookie_domain);
2.) Wenn der Besucher also kein Tracking-Cookie zurückgesendet hat und von unserem Partner kommt, blenden wir ein Bild ein:

Code: Alles auswählen

	if (strpos($_SERVER['HTTP_REFERER'], 'example.org') !== false)) {
		echo&#40;'<img src="track.gif" border="0" alt="" width="100" height="100" />'&#41;;
	&#125;
&#125;
3.) track.gif verweist per mod_rewrite auf track.php: (Adblocker haben manchmal was gegen Bilder, die auf .php enden)

Code: Alles auswählen

<?php

function display_tracking_image&#40;&#41; &#123;
	// image data
	$im = imagecreate&#40;1, 1&#41;;
	$blk = imagecolorallocate&#40;$im, 0, 0, 0&#41;;
	imagecolortransparent&#40;$im, $blk&#41;;
	// image output
	header&#40;"Content-type&#58; image/gif"&#41;;
	imagegif&#40;$im&#41;;
	// free memory
	imagedestroy&#40;$im&#41;;
&#125;

if &#40;strpos&#40;$_SERVER&#91;'HTTP_REFERER'&#93;, $_SERVER&#91;'SERVER_NAME'&#93;&#41; !== false&#41; && isset&#40;$_COOKIE&#91;'tid'&#93;&#41;&#41; &#123;
	add_click&#40;&#41;; // fügt Klick zu Datenbank hinzu
&#125;
display_tracking_image&#40;&#41;;
exit&#40;&#41;;

?>
Das Bild soll in diesem Fall davor schützen, dass jemand einfach nur seine Cookies löscht bzw. seine Internetverbindung kappt und die Seite erneut aufruft. Denn das reicht nicht. Er müsste zusätzlich seinen Browsercache löschen (was die wenigsten machen), damit das Tracking-Bild neu geladen wird. Ansonsten kommt zwar das Bild im Quelltext zum Vorschein, aber es wird nicht noch mal vom Server angefordert.

Auch werden so Crawler ausgeschlossen, da die eigentlich keine Cookies zurücksenden bzw. Bilder nicht laden.

Damit nun keiner hingeht und das Bild direkt aufruft, legen wir beim Aufruf der Seite einen Datensatz an:

Code: Alles auswählen

INSERT INTO clicks &#40;datum,tid&#41; VALUES&#40;'20.08.', $tid&#41;
Und beim Öffnen des Bildes wird er vervollständigt:

Code: Alles auswählen

UPDATE clicks SET valid = 1 WHERE datum = '20.08' AND tid = $tid
Nur was machen gegen ein Script, dass meine Seite mit gefälschtem Ref anpingt, die Tracking-ID exportiert und mit dieser dann das Bild anpingt?

Eine IP-Sperre wäre denke ich nicht sinnvoll, da es ja Provider gibt, die ihre IPs als Proxy einsetzen (wie z.B. AOL).

Also einzigen zusätzlichen Schutz würde mir eine Art Whitelist für die Browserkennung einfallen:

Code: Alles auswählen

if &#40;strpos&#40;$_SERVER&#91;'HTTP_USER_AGENT'&#93;, 'MSIE'&#41; !== false || strpos&#40;$_SERVER&#91;'HTTP_USER_AGENT'&#93;, 'Firefox'&#41; !== false || strpos&#40;$_SERVER&#91;'HTTP_USER_AGENT'&#93;, 'Opera'&#41; !== false&#41; &#123;
Aber das funktioniert ja auch nur, bis der Klickbetrüger sein Script um einen gültigen User-Agent erweitert. Aber jede Hürde ist ja bekanntlich sinnvoll.

Gibt es noch Ideen bzw. Lücken?
Ich kaufe Dein Forum!
Kontaktdaten