Adblock Plus: Save your time and traffic
24. June 2009» Ever been annoyed by all those ads and banners on the internet that often take longer to download than everything else on the page? Install Adblock Plus now and get rid of them. «
» Ever been annoyed by all those ads and banners on the internet that often take longer to download than everything else on the page? Install Adblock Plus now and get rid of them. «
Heute erreicht mich eine E-Mail von einem gewissen Valentin Mikhailin aus Russland mit der Bitte, ihm Schlafsäcke, warme Kleidung, Essen, Medizin und vielleicht sogar auch Geld für den kommenden, russischen Winter zu schicken, schließlich habe er seine Arbeit durch die globale Finanzkrise verloren und könne sich solche Mittel für sich und seine Mutter nicht leisten.
Klingt hart – härter ist jedoch die Tatsache, dass es sich hierbei um pure Abzocke handelt, denn mit Google stellt sich schnell heraus, dass der russische Student bereits seit 1998 solche E-Mails im November an die ganze Welt verschickt. Das Konzept seiner Briefe bleibt immer gleich, nur die Gründe, weshalb er Hilfe benötige, passen sich von Jahr zu Jahr entsprechend an.
Mein Tipp: Die E-Mail löschen und sich beim E-Mail Provider beschweren, wieso diese E-Mail nicht gleich in den Spam-Ordner gewandert ist.
Unterm Strich sind die Leidtragenden die, die wirklich über diesen Weg auf Hilfe hoffen, doch durch solche falsche Hilferufe, wie von Valentin Mikhailin, auch in Zukunft nur hoffen werden.
Wer hat es sich als Webdesigner nicht schon mindestens einmal die Möglichkeit gewünscht, sein Design gegen ein einfaches Copy & Paste im Internet zu schützen.
Denn im Internet werden, ohne Rücksicht auf Urheberrechte, viele Designs oder zumindest Teile davon schamlos übernommen. Eine juristische Aufbereitung ist in vielen Fällen nicht möglich und häufig stehen Aufwand und Nutzen in keinem Verhältnis. Trotzdem sind solche Taten ärgerlich.
Doch das muss nicht sein, denn mit etwas PHP können wir ein einfaches Copy & Paste schon verhindern.
Vorwort
Es gibt keinen 100%igen Weg ein Design im Internet komplett zu schützen, denn Browser müssen die Dateien lesen und entsprechend umsetzen. Dadurch wird das Design bereits beim Besuchen der Webpage auf dem Computer des Besuchers gespeichert und ermöglicht ihm, deren Quelltexte einzusehen. Dies betrifft grundsätzlich alle clientseitigen Elemente wie (X)HTML, CSS, Javascript und Bilder.
Doch die eigentlichen Designs entstehen heutzutage in Cascading Style Sheets, sogenannte CSS Datein, und werden seperat geladen. Genauso wie Javascript oder Bilder. Und genau hier setzen wir an.
Technik
Aus einer CSS Datei machen wir eine PHP Datei, da diese nur serverseitig gelesen werden können, und binden die genauso, wie ihr Vorgänger, in den (X)HTML Code ein.
| <style> @import url(./css/style.php); </style> |
Vorher müssen wir den HTML Code aber noch um folgende Zeilen erweitern:
| session_start(); $_SESSION['initCSS'] = TRUE; |
Wichtig: Dieser Block muss vor dem Einbinden der style.php stehen.
Somit erstellen wir eine Session und setzen die Variabel initCSS auf true.
Die style.php füllen wir wie gewohnt mit CSS und ergänzen den Kopf und Fuß mit etwas PHP, so dass die style.php eine solche Form annimmt:
| #01 #02 #03 #04 #05 #06 #07 #08 #09 #10 #11 #12 #13 #14 #15 #16 #17 #18 #19 #20 #21 #22 #23 #24 #25 #26 #27 #28 #29 #30 #31 #32 #33 #34 #35 #36 #37 |
<?php session_start(); if (!$_SESSION['initCSS']) { header('Location: http://www.kuhrti.de'); } header('Content-Type: text/css'); print(' //CSS hier einfügen body { margin: 0; padding: 0; background: #1a1b1e; font: normal 13px Verdana, Arial, Helvetica, sans-serif } #global { background: #ffffff; } //noch mehr CSS '); //print() schließen. Ab hier kein CSS mehr einfügen $_SESSION['initCSS'] = FALSE; ?> |
Was hier geschieht ist einfach. Die Variable $_SESSION['initCSS'] wird geprüft woraufhin entschieden wird, ob wir auf unsere Homepage weitergeleitet werden oder ob wir uns als CSS Datei zu erkennen geben. Da die Session aber bereits beim Laden der Page gesetzt wurde, passieren wir die Abfrage und wandeln mit Hilfe von header(‘Content-Type: text/css’) die style.php zu einer CSS Datei um (zumindest glaubt das der Browser). Anschließend muss die $_SESSION['initCSS'] wieder zurückgesetzt werden, da diese sonst die ganz Sitzung über true bleibt.
Wer jetzt versucht unsere style.php direkt mit einem Browser zu lesen, wird ungewollt wieder auf unsere Webpage zurückgeleitet. An dieser Stelle könnten wir auch vulgär dazu auffordern, unser Design nicht zu kopieren, jedoch vermute ich, dass ein Dieb eher verwirrt ist, wenn er trotz richtiger URL immer im Kreis läuft, als ihm durch unsere Aufforderung zu bestätigen, dass er der Sache ein Schritt näher ist – was eigentlich falsch ist, denn PHP Dateien lassen sich nicht einsehen.
Gleiches gilt für Javascript
Allerdings muss hier foldender Header gesetzt werden:
| header('Content-Type: application/x-javascript'); |
Schlusswort
Mehr Aufwand sollte zu diesem Thema aber nicht betrieben werden, da manche erfahrenere User auch mit dieser Technik nur zwei Klicks benötigt, um an den richtigen Code zu kommen. Das Ganze soll den Dieben die Sache nur erschweren, denn ich behaupte, dass jemand, der Code klauen muss, weil er selber keine Ahnung hat, auch zu blöd ist, dieses System auszutricksen.
Zum Schluss stellt sich nur noch die Frage: will überhaupt jemand mein Design kopieren?
Wer das Ganze ein mal live sehen will, kann auf spez-clan.de wechseln und dort versuchen die “style.css” auszulesen.