Copyright-Hinweis automatisch in Bilder einsetzen

04. Februar 2014 // PHP

Aktuell macht ein Gerichtsurteil die Runde, das so ziemlich jeden Webmaster betrifft: Auf der Website eingebundene Bilder können abgemahnt werden, da der Copyright Hinweis nicht sichtbar ist, wenn das Bild einzeln aufgerufen wird, also z.B. mit der rechten Maustaste das Bild direkt geöffnet wird.

Da sogar von anwaltlicher Seite gewarnt wird, bekommt so mancher Webmaster nun Muffensausen und sucht eine einfache Lösung für das Problem. Die rechtliche oder moralische Beurteilung möchte ich anderen überlassen, aber kann vielleicht eine Anregung für eine technischen Lösung geben.

Folgende Ansätze bringen leider nur mäßigen Erfolg:

1. Hotlink-Sperre: In der .htaccess Datei wird der Webserver angewiesen, nur Bilder auszuliefern, die einen internen Referer haben, sprich ordnungsgemäß aus der eigenen Website heraus aufgerufen wurden. Sobald das Bild einzeln aufgerufen oder gar von einer fremden Website aus aufgerufen wurde, quittiert der Webserver die Anfrage mit einem Fehler. Problem: Wenn die Bilder in WordPress als Artikelbilder eingebunden sind, erscheinen sie auf der Bloghomepage und den Kategorieansichten weiterhin, und zwar ohne den Lizenzhinweis.

2. Manuell mit Photoshop einen Copyright-Vermerk in das Bild setzen: Macht viel Arbeit und kann zu neuen Problemen führen: Besitzt man keine Lizenz zur Bildbearbeitung, kann auch dieses Hinzufügen von Buchstaben Abmahner auf den Plan rufen.

3. Den Copyright-Hinweis in die Bilddatei, jedoch unter das Bild setzen. Auch das wär manuell mit Photoshop viel Arbeit – nach Murphys Law wird das Gerichtsurteil genau dann gekippt, sobald alle Hunderte Bilder angepasst sind.

 
Wir brauchen also eine Lösung, die automatisch einen Copyright-Hinweis unter jedes Bild setzt – am besten ohne Veränderung der eigentlichen Bilddatei. Ein Script müsste vor den Webserver geschaltet werden, der bei Abruf eines Bildes die Veränderung “on the fly” durchführt, und erst dann das Bild an den Browser ausliefert. Glücklicherweise gibt es Open Source Software, die genau dies kann.

1. In der .htaccess Datei wird eine rewrite Rule eingesetzt, die sämtliche Bildaufrufe an ein PHP Script sendet

2. Das PHP Script sendet das Bild an das Commandline-Grafiktool ImageMagick, welches den Lizenzhinweis einsetzt

3. und gibt das Bild als JPEG aus.

teide-mit-automatischem-copyrightDaraufhin werden sämtliche Bilder, ob im Artikel oder in einer Vorschau, einzeln aufgerufen, oder gehotlinked mit dem angefügten Hinweis dargestellt. Die Bild-URL bleibt identisch, da der Webserver nur einen Rewrite, und keinen Redirect durchführt. Diese Lösung hat folgende Vor- und Nachteile:

Vorteile:
1. Minimaler Aufwand im Vergleich zur manuellen Bearbeitung
2. Die originale Bilddatei bleibt völlig unverändert, der Hinweis kann also jederzeit durch Entfernen der .htaccess-Zeile rückgängig gemacht werden
3. Jedes Bild wird angepasst, keines versehentlich vergessen. Im Beispiel nur JPGs, das Prinzip kann jedoch auf alle von ImageMagick unterstützten Formate angewendet werden
4. Da die Änderung durch ein PHP-Script erfolgt, kann eine beliebig intelligente Logik rangeschraubt werden: Copyright-Hinweise aus einer Datenbank holen, aus einem WordPress Custom Field, aus einer CSV, aus Bildmerkmalen….
5. Die grafische Gestaltung ist ziemlich frei, die CI kann also berücksichtigt werden

Nachteile:
1. Wenn die Bilder im Tag mit einer veränderten Größe eingebunden sind, wird auch die Schrift skaliert, kann also im schlimmsten Falle unlesbar klein sein
2. Die Echtzeit-Konvertierung braucht CPU-Leistung – Bei stark frequentierten Seiten muss also eine Cache-Logik dazu programmiert werden
3. Der größte Haken: Das genutzte Bildtool Imagemagick ist auf einfachen Webspaces oft nicht installiert. Webmaster mit eigenem Server sind da im Vorteil

Wer sich über die Vor- und Nachteile im Klaren und ein wenig technikaffin (*) ist, kann folgenden Funktionskern als Vorlage für sein eigenes Script verwenden.:

Die .htaccess Ergänzung:

RewriteRule ^(.*).jpg$ /image.php?jpg=$1 [L]

Das PHP-Script:

<?php
header('Content-type: image/jpeg'); // Daten als Bild ausliefern
$filename = $_GET['jpg']; // übergebenen Bild-Dateinamen entnehmen
$filename = urldecode($filename);
$filename = '/var/www/pfad-zum-server/'.$filename.'.jpg'; // Pfad vervollständigen
passthru("convert $filename -gravity South -background white -splice 0x18 -annotate +0+0 'Copyright by blabla' jpeg:-"); // Bild an ImageMagick übergeben und es auch gleich ausgeben lassen
//passthru("convert $filename -font Candice -pointsize 12 -gravity south -stroke '#000C' -strokewidth 3 -annotate 0 'Test Copyright' -stroke none -fill white -annotate 0 'Test Copyright' jpeg:-"); // Zweite Variante

* Wie immer übernehme ich keinerlei Garantie für Funktion oder entstandene Schäden. Auch garantiere ich keinerlei Rechts- oder Abmahnsicherheit der geschilderten Lösung. Das dargestellte PHP-Script ist der Anschaulichkeit halber aufs Nötigste gekürzt und muss für den produktiven Einsatz unbedingt um Sicherheitsprüfungen und natürlich die Datenquelle der Copyright-Hinweise ergänzt werden. Ohne Absicherung könnte dieses Script eine Backdoor bilden, die das Auslesen sicherheitsrelevanter Daten ermöglicht.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>