Verschlüsselte URLs mit PHP

Wofür sollte man URLs verschlüsseln? Ein Anwendungsgebiet sind z.B. Clickzähler, also Anwendungen bei denen man genau wissen will wie oft ein Link besucht wurde. Ein Skript zum Handling verschlüsselter URLs lässt sich ohne großen Aufwand in PHP realisieren.

die Verschlüsselungsmethode

Das Problem: Auf welche Art und Weise soll man die URLs verschlüsseln? Zum einen darf es nicht ohne weiteres von einem Besucher zu entschlüsseln sein, zum anderen muss man es von einem Computer schnell entschlüsseln lassen können. Die Lösung dafür ist simpel und wird von PHP mitgeliefert. Mittels der Funktion base64_encode kann man die URLs im base64-Format verschlüsseln, die Funktion base64_decode macht aus den verschlüsselten wieder normale URLs. So wird nach einem base64_encode('http://www.robwei.de/') aus der URL der String aHR0cDovL3d3dy5yb2J3ZWkuZGUv, ein base64_decode('aHR0cDovL3d3dy5yb2J3ZWkuZGUv') macht daraus wieder die ursprüngliche URL.

die Implementierung

Was braucht man also? Im Grunde nur eine PHP-Datei, welche als Parameter eine verschlüsselte URL entgegen nimmt und dann auf die „echte” URL weiterleitet. Eine einfache Version einer solchen <kbd>go.php</kbd> kann so aussehen:

<?php
header('Location: ' . base64_decode($_REQUEST['url']));
?>

Wie man sieht braucht es nur eine Zeile Code, und schon kommt man mittels go.php?url=aHR0cDovL3d3dy5yb2J3ZWkuZGUv auf die Seite www.robwei.de. Einfacher geht's wohl kaum!