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);
Code: Alles auswählen
if (strpos($_SERVER['HTTP_REFERER'], 'example.org') !== false)) {
echo('<img src="track.gif" border="0" alt="" width="100" height="100" />');
}
}
Code: Alles auswählen
<?php
function display_tracking_image() {
// image data
$im = imagecreate(1, 1);
$blk = imagecolorallocate($im, 0, 0, 0);
imagecolortransparent($im, $blk);
// image output
header("Content-type: image/gif");
imagegif($im);
// free memory
imagedestroy($im);
}
if (strpos($_SERVER['HTTP_REFERER'], $_SERVER['SERVER_NAME']) !== false) && isset($_COOKIE['tid'])) {
add_click(); // fügt Klick zu Datenbank hinzu
}
display_tracking_image();
exit();
?>
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 (datum,tid) VALUES('20.08.', $tid)
Code: Alles auswählen
UPDATE clicks SET valid = 1 WHERE datum = '20.08' AND tid = $tid
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 (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Firefox') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Opera') !== false) {
Gibt es noch Ideen bzw. Lücken?