Dynamische Linkshrinks

Wie man dynamisch kurze Links (linkshrinks) vergibt

Durch einen Blogartikel von Hannes Heinemann bin ich auf etwas aufmerksam geworden, was u.U. doch recht hilfreich sein kann.
Hannes beschäftigt sich in seinem Artikel „Links maskieren und kürzen“ mit der Gefahr, dass man durch Manipulation einer URL-Adresse Unsinn treiben kann.

Gerade bei Affiliate-Programmen kommt es immer wieder zu Aufrufen wie

www.irgendwas.de/bestellen.php?aID=1&prod=75

die in der URL angezeigt werden. Das bedeutet eigentlich nichts anderes als dass der Kunde, der über einen Affiliate ein Produkt kaufen will, hier im obigen Aufruf der Affiliate mit der Nummer 1 ist und das Produkt=75 kaufen will. Ziemlich eindeutig, das Ganze :-(.

Jetzt melde ich mich mal schnell auf der Verkäuferseite als Affiliate an und erhalte einen Link. Diesen soll ich dann bei meiner Werbung als Link verwenden.

Ich erhalte z.B. die Nummer 4711 (hier aID=4711), also kann ich mit ein paar mal probieren mir alles mögliche zu 50% oder so kaufen!!!!

Verstehen Sie was ich meine? Die URL für den Verkäufer ist einfach zu offen!

Hannes empfiehlt hier mit der Seite http://linkshrink.de die Seite um zu codieren. Man erhält dann statt

www.irgendwas.de/bestellen.php?aID=1&prod=75

zum Beispiel eine Adresse die folgendermaßen aussieht:

http://linkshrink.de/17551/

Wie geht das?

Nun, Linkshrink nimmt die Adresse und baut über einen Algorithmus eine Abkürzung. Oder speichert ihn in eine Datenbank und gibt die Satznummer aus.
Ruft man nun linkshrink mit dieser Adresse auf, dann wird in der Datenbank geschaut und die richtige Adresse ermittelt. Linkshrink gibt dann eine Seite aus, die 2 iFrames beinhaltet, wobei der erste die Orginal-URL hat und der 2. Frame auf Linkshrink zeigt. Da das iFrames sind, wird die richtige Seite aufgeschlagen.

Alles wunderschön. Doch was macht man, wenn man das ganze DYNAMISCH haben will? Dynamisch heißt hier: Ich bin in einem Programm, habe die Affiliate-Id ermittelt, und will den Link des Affiliate  generieren und zuweisen! Da kann ich ja nicht die Seite aufrufen und dem Affiliate den Linkshrink-Code manuell übermitteln. 🙁

Irgendwie müssten Sie ein Mittel finden, wo Sie Linkshrink in Ihrem Programm aufrufen und die fertige URL übermitteln.

Shrinks sind Dienste

Leider habe ich ich keine Link-Shrinker im Web gefunden, die keine Dienste sind. Es gibt zwar Dienste die sich als PlugIns in einem Firefox-Browser installieren lassen, was ja wenig nutzt, das Sie ja dynamisch die Parameter erzeugen und über Mail versenden wollen.
Dabei gibt es eine Vielzahl solcher Dienste: tinyURL, slink.in etc! Alles sind aber fertige Seiten, die ihren Algorithmus nicht preisgeben.
Was also tun?
Bei meiner Recherche bin ich dann auf eine Seite gestoßen, die es ganz anders macht! Allerdings brauchen Sie dafür ein paar Voraussetzungen.
Tja und es geht jetzt um PHP-Coding!

CURL

Es gibt im PHP eine Funktionsbibliothek, mit der ich eine Seite im Web „dunkel“ ausführen lassen kann. Dazu benötigen Sie das Modul curl. Normalerweise ist das von Ihrem Hoster eingebunden und aktiv! Somit würde es kein Hinderungsgrund für Sie geben, dynamisch geshrinkte Links dynamisch zu erzeugen.

Aber haben Sie denn curl überhaupt?

Gehen wir also mal ganz weit zurück zu unseren Anfängen in PHP. Es gibt eine PHP-Funktion, mit der sie prüfen können, was Sie auf Ihrem Webspace so alles in PHP dürfen. Schreiben Sie – wenn Sie nicht schon haben – folgendes kleines Programm und stellen Sie es auf Ihren localhost und auf Ihren Webspace in einen addressierbaren Bereich!

<?php phpinfo() ?>

Jetzt führen Sie das Programm aus und suchen nach einem Eintrag der curl heißt. Finden Sie diesen, dann steht den nachfolgenden Ausführungen nichts mehr im Wege!

Wir rufen also eine Seite, und lassen Sie dunkel abspielen.

<?php
//gets the data from a URL
function get_tiny_url($url)  {
$ch = curl_init();
$timeout = 5;
// hier können Sie irgend einen Dienst wählen
curl_setopt($ch,CURLOPT_URL,’http://tinyurl.com/api-create.php?url=‘.$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
$data = curl_exec($ch);
curl_close($ch); // close nicht vergessen
return $data;
}

//test it out!
$new_url = get_tiny_url(‚http://davidwalsh.name/php-imdb-information-grabber‘);

//returns http://tinyurl.com/65gqpp
echo $new_url
?>

Wie Sie an diesem Beispiel sehen, ist das nicht auf meinem Mist gewachsen, sondern stammt von David Walsh, der auch das Beispiel gebaut hat.

Praktischer Weise hat David ein Unterprogramm dazu verwendet,  so dass man die Funktion schön einbauen kann.

Ihr Aufruf von oben wäre dann:

$new_url = get_tiny_url(‚www.irgendwas.de/bestellen.php?aID=1&prod=75‘);

Und dies ergibt: http://tinyurl.com/2cuuy4e

Was aber machen Sie, wenn Sie kein curl haben? Auf dem Localhost können Sie das leicht einbauen:

Sie öffnen die Datei xampp\apache\bin\php.ini. Legen Sie sich eine Sicherungskopie der Datei an. Dann suchen Sie in der Datei nach dem String „php_curl.dll“. Sie müssten den String als

;extension=php_curl.dll

finden. Sie löschen den Strichpunkt am Anfang und aktivieren somit die Bibliothek! Fertig.
Auf dem Web wird das etwas schwieriger: Sie müssen Ihren Provider fragen, ob er Ihnen die Curl.dll freischaltet. Gute Hoster haben die curl.dll eingeschaltet!  (Siehe Linke Seite 🙂 )

Tja, das war nun ein Artikel, der tief in die PHP-Programmierung eindringt.
Zu tief?

Wenn Sie Schwierigkeiten mit dem Verständnis haben, oder Ihre PHP-Kenntnisse noch nicht so weit sind, dann schreiben Sie mir das doch bitte, wir können es hier im Blog besprechen.

Bernd Klüppelberg

Bisher gibt es keinen Kommentar. Schreiben Sie einen Kommentar!

Schreibe einen Kommentar