[DEV] BBCode 'watermark' und weiterer Traffic-Klauschutz

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
King_S
Mitglied
Beiträge: 124
Registriert: 09.09.2003 18:32
Wohnort: Simmerath
Kontaktdaten:

[DEV] BBCode 'watermark' und weiterer Traffic-Klauschutz

Beitrag von King_S »

Soho, habe da was fertig gebastelt fürs phpBB3, habe da einfach einen neuen BBCode Namens "Watermark" erstellt, dieser fügt automatisch ein Wasserzeichen zu jedem gif, png, jpg oder jpeg bild hinzu. Einzigste, was ich noch nicht behoben bekomme habe, ist das bei png und gif Bildern die Transparenz erhalten bleibt, sowie vorhandene Animationen. Aber da es ja hauptsächlich für Bilder von einer Digi Cam sein soll, reicht dieser kleine BBCode auch aus.

watermark BBCode:
Im phpBB3 unter ACP --> Beiträge -->BBCodes einen neuen BBCode erstellen:

Code: Alles auswählen

[watermark]{URL}[/watermark]

Als HTML Ersetzung dann folgendes:

Code: Alles auswählen

<img src="watermark.php?pic={URL}">

Eine kleine Beschreibung zu und fertig ist der BBCode.

Nun ein kleines, transparentes PNG erzeugen, das bsp. deine Domain enthält oder deinen gewünschten Text. Dieses unter images/wasserzeichen.png abspeichern und folgende Datei als watermark.php ins phpBB3 ROOT speichern:
http://board.webhosting-sk.de/watermark.txt

Nun kann man mittels oben genannten BBCode ein Wasserzeichen geschütztes Bild erstellen
Alternativ kann man auch bei dem IMG BBCode die vollständige Adresse zum Script angeben + Bild:
http://www.deinforum.de/watermark.php?p ... s/bild.jpg

Das von IMG umschließen und es sollte sich das Wasserzeichen einfügen lassen.

Hotlink Schutz:

Eine .htaccess Datei in das images Verzeichniss legen, mit folgendem Inhalt:

Code: Alles auswählen

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?deinedomain\.de/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(jpe?g|gif|bmp|png|GIF|PNG|JPE?G|BMP)$ ersatz.gif [L]
Unter Windows ggf. mit dem Editor eine h.htaccess erstellen, diese auf den Server laden und dort umbenennen.
Dann noch eine Grafik ins images Verzeichnis liegen, die ersatz.gif heißt. Diese kann einen Hinweis zum Forum enthalten, oder ein abschreckendes Bild oder oder.

Dieses funktioniert nur auf Servern mit RewriteEngine!

Unsichtbares Bild über Avatare
Damit wird das speichern der Avatare erschwert:

Erstellt ein 1x1 px Größes, transparentes Bild (oder ladet das hier: http://board.webhosting-sk.de/images/blank.gif )
Und speichert es im images Ordner als blank.gif.

Nun folgende Änderungen vornehmen:

In der functions_display.php:
SUCHE:

Code: Alles auswählen

	return '<img src="' . $avatar_img . '" width="' . $avatar_width . '" height="' . $avatar_height . '" alt="' . ((!empty($user->lang[$alt])) ? $user->lang[$alt] : $alt) . '" />';

ERSETZE MIT:

Code: Alles auswählen

	return '<table border="0" cellpadding="0" cellspacing="0" style="background-image:url('. $avatar_img . ');"><tr><td><img src="images/blank.gif" width="' . $avatar_width . '" height="' . $avatar_height . '" alt="' . ((!empty($user->lang[$alt])) ? $user->lang[$alt] : $alt) . '" /></td></tr></table>';
Das ergibt eine Tabelle, deren Hintergrund das Avatar ist und im Inhalt das transparente Bild. verscuht man nun das Avatar zu speichern, so erhält der Anwender ein einfaches, leeres gif Bild :P

Demo:
http://board.webhosting-sk.de/off-topic ... -t2.html#6

Grüße
Stephan

ToDO Liste:
  • watermark.php Code optimieren (erledigt)
  • Größe des Wasserzeichens automatisch auslesen, damit dieses zentriert auf das Bild positioniert werden kann (erledigt)
  • Über die Avatare ein unsichtbares Bild legen, damit diese nicht einfach gespeichert werden können (erledigt)
  • Hotlink Schutz für Server mit RewriteEngine ON (erledigt)
  • Wasserzeichen auch in Anhängen
  • Transparenz der Bilder behalten :D
  • Komplett Integration ins phpBB3
FAQ
F: Was ist Hotlinkschutz?
A: Hotlink Schutz heißt:
Wenn einer dein Bild von deinem Server direkt verlinkt (in dem er einfach die Grafikadresse kopiert), erscheint hier nicht die gewünschte Grafik, sondern halt ein Hinweis, das der Ersteller der Seite versucht hat, ein Bild zu klauen.
Ist halt nur zum Schutz gegen Trafficklau (http://www.trafficklau.de) durch direkt Verlinkung (wird oft auf Beepworld Seiten gemacht)

UPDATE:
16.08.07 15:43: Erweitert um den Avatar "Schutz"

15.08.07 21:36: Ins watermark.php wird nun die Qualität der Bilder angegeben.

Code: Alles auswählen

switch($img) {
    case 'jpg':  imagejpeg($imag); break;            
    case 'gif':  imagegif($imag); break;            
    case 'png':  imagepng($imag); break;            
    case 'jpeg': imagejpeg($imag); break;
}
Ersetze mit:

Code: Alles auswählen

switch($img) {
    case 'jpg':  imagejpeg($imag, '', 80); break;            
    case 'gif':  imagegif($imag, '', 80); break;            
    case 'png':  imagepng($imag, '', 80); break;            
    case 'jpeg': imagejpeg($imag, '', 80); break;
}
In der aktuellen Version ist diese Verbesserung schon enthalten!
Zuletzt geändert von King_S am 16.08.2007 15:41, insgesamt 5-mal geändert.
Kleopatras_Sister
Mitglied
Beiträge: 257
Registriert: 28.07.2007 18:44

Beitrag von Kleopatras_Sister »

danke, das mit dem image versuch ich mal

Doch Hotlink Schutz bedeutet genau was ? und gibt es keinen nachteil beim aufrufen von smilies usw ? da ja der htaccess aktiv prüft ?

Bei deiner page konnte ich nämlich die Bilder herunter laden, ist der also bei dir nicht aktiv oder funktioniert er nur noch nicht ganz ?

MFG
Benutzeravatar
King_S
Mitglied
Beiträge: 124
Registriert: 09.09.2003 18:32
Wohnort: Simmerath
Kontaktdaten:

Beitrag von King_S »

Hotlink Schutz heißt:
Wenn einer dein Bild von deinem Server direkt verlinkt (in dem er einfach die Grafikadresse kopiert), erscheint hier nicht die gewünschte Grafik, sondern halt ein Hinweis, das der Ersteller der Seite versucht hat, ein Bild zu klauen.
Ist halt nur zum Schutz gegen Trafficklau (http://www.trafficklau.de) durch direkt Verlinkung (wird oft auf Beepworld Seiten gemacht)
Die Smilies brauchen eh keinen besonderen Schutz, da diese ja eh frei erhältlich sind.

Nachteile entstehen bei der Sache mit der .htaccess im Bilder Ordner nicht, da du ja deiner Domain den Zugriff erlaubst.
Hier kannst du auch ggf. mehrer Domains angeben, die dies dürfen, dazu einfach

Code: Alles auswählen

RewriteCond %{HTTP_REFERER} !^http://(.+\.)?deinedomain\.de/ [NC]
kopieren und deinedomain durch die erlaubten Domains ersetzen.
Kleopatras_Sister
Mitglied
Beiträge: 257
Registriert: 28.07.2007 18:44

Beitrag von Kleopatras_Sister »

ah ok, leuchtet mir nun ein. Danke

werde ich mal versuchen, auch wenn es mit (für mich) noch bisl Komplex erscheint. Aber ich versuchs einfach mal.

Danke für deine Hilfe

MFG


EDIT

funktioniert leider bei mir nicht

Code: Alles auswählen

^http://(.+\.)?deinedomain\.de/ [NC] 
Liegt wohl daran das ich erst zugriff bei www.konsole360.de/phpBB3 hab und nicht schon vorher oder?

Hab die Datei erstell ins root von phpBB3, die gif ins Images Verzeichniss von phpBB3. Leider tut sich da gar nix :(

Das mit dem Watermark muss ich testen, kam noch nicht dazu, da ich nicht weiß wie man ein leeres Bild erstellt (durchsichtiges) Muss da auf Antwort von jemanden warten, der mir eventuell dies erstellen wird
Benutzeravatar
King_S
Mitglied
Beiträge: 124
Registriert: 09.09.2003 18:32
Wohnort: Simmerath
Kontaktdaten:

Beitrag von King_S »

Hast du eine Weiterleitung drin? Also mit de.vu Domain?
Dann solltest du den .htaccess Schutz anpassen...diese sollte in den images ordner, nicht ins phpBB3 Root, da hier schon ne andere .htaccess Datei liegt. Wenn du es vom Root aus haben willst, musste den Code Teil von oben einfach hinten dran anfügen (vorraussetzung der Server kann den RewriteEngine..)
Wenn also deine phpBB3 unter der .de.vu unten in der Signatur erreichbar ist und unter der anderen URL, dann muss der Code so lauten:

Code: Alles auswählen

^http://(.+\.)?konsole360\.de/ [NC]
^http://(.+\.)?online-gemeinschaft\.de.\vu/ [NC]
Gruß
Stephan
Kleopatras_Sister
Mitglied
Beiträge: 257
Registriert: 28.07.2007 18:44

Beitrag von Kleopatras_Sister »

morgen

ah ok, dann kann es ja nicht funktionieren

also gif und .h.. ins images Verzeichniss *done*
watermark.. in phpbb root (wobei das ja was anderes ist)

Zur Verständniss Frage.

Der Klau Schutz ist nur aktiv wenn ein Member den Anhang nutzt oder ?
also das Bild muss im Images Verzeichniss sein, richtig ? (logisch, ich frage dennoch)

Nun ich habe im acp Datei Anhänge aktiviert, cache geleert und dennoch kann ich als Admin keinen Anhang hin zu fügen. Hab ich was im Eifer der Freude vergessen ?

Und danke für deine Hilfe

mfg
Benutzeravatar
King_S
Mitglied
Beiträge: 124
Registriert: 09.09.2003 18:32
Wohnort: Simmerath
Kontaktdaten:

Beitrag von King_S »

Aktuell ist noch kein Klauschutz in Bildanhängen integriert (steht aber auch oben in der ToDo Liste).
Einzige, was ich auf die schnelle machen könnte, wäre auch hier ein Transparentes GIF vor zu legen.
Der Rest ist noch in Entwicklung :).

Mit dem Einbau von den Funktionen oben erreichst du:
  • kein direktes linken (Hot Linking, Hot Link) mehr möglich. (zeigt nur noch Ersatzgrafik)
  • Ein unsichtbares Bild über dem Avatar, dadurch kann das nicht mehr direkt mittels Bild speichern unter gespeichert werden (man erhält nur noch ein Transparentes Bild...)
  • Ein Bild, das ein Wasserzeichen hat, wenn der Benutzer den watermark BBCode verwendet (ein generelles einbinden dieser Funktion würde alle Bilder mit Wasserzeichen versehen, was allerdings nicht Sinn und Zweck ist, da es nur auf eigene Bilder gelten soll)
Der Rest kommt noch, bin dabei, den Code auf zu schlüsseln und an zu passen :D
Alternativ werde ich noch ein Script basteln, das das Bild, welches du mit Wasserzeichen versehen willst, auf deinem Server mit Wasserzeichen erzeugt wird, dort gespeichert wird und dem Benutzer ermöglicht, es innerhalb deines Forums zu verlinken. Diese Methode hat den Vorteil, das eine Kopie des Bildes auf deinem Server landet und die, egal wie man das Bild dann aufruft, das Wasserzeichen drin hat. Im Moment siehst du zwar das Wasserzeichen, aber es ist nur zur Anzeige da. Das original Bild bleibt unberührt, und wenn man clever ist, und das hinter dem pic= Direkt eingibt, hat man es dennoch ohne Wasserzeichen. Aber die aktuelle Methode schreckt zumindest die Meisten Bilderklauer ab. Denn wer so ein Bild haben will, kommt da irgendwie dran, betrifft insbesondere "versierte Profis"
Kleopatras_Sister
Mitglied
Beiträge: 257
Registriert: 28.07.2007 18:44

Beitrag von Kleopatras_Sister »

mmhh dann mach ich da wohl was falsch :(

Denn ich kann noch immer speichern und erhalte das Originale Bild.
Hotlinking ? du meinst ein Bild welches im Forum ist, das man dieses nicht in ein anderes Forum setzen kann?

Nun die meisten Bilder sind auf bananna oder imageshack, dafür wird es wohl keinen Schutz geben... ich erkenne noch immer nicht den Sinn für mich :(

Weiß aber was du meinst und will es, aber entweder mache ich was falsch oder ich stell mich doff an und versteh dich nicht :oops:


MFG
Benutzeravatar
King_S
Mitglied
Beiträge: 124
Registriert: 09.09.2003 18:32
Wohnort: Simmerath
Kontaktdaten:

Beitrag von King_S »

Also...wenn du nen Bild mit dem watermark BBCode einbindest, und auch ein Wasserzeichen gebastelt hast (bsp. mit Photoshop), und es dann speicherst, erhälst du das Bild mit Wasserzeichen. Dadurch ist es für andere unbrauchbar.

Code: Alles auswählen

[watermark]http://www.bild.de/bilder/bild.gif[/watermark]
So bindest du dein Bild mit Wasserzeichen ein, einfach die URL zum Bild zwischen watermark einbinden. Dann ist es mit Wasserzeichen, auch wenn du es versuchst zu speichern (speichern ist möglich, allerdings kannst du das Wasserzeichen nicht entfernen, bzw schwerlich :))

Ansonsten zeig mir mal nen Testlink, wo du es eingebaut hast.

Und zum testen des Hotlink Schutzes:
http://altlab.com/hotlinking.html
Dort unten deine Bild Adresse eingeben, und es sollte deine Ersatzgrafik zu sehen sein.

[ externes Bild ]
Das sollte nen Bild von mir darstellen, durch den Hotlink Schutz aber siehste nur die Ersatzgrafik.
Kannste ganz leicht mittels Bild Eigenschaften.. überprüfen :)
Kleopatras_Sister
Mitglied
Beiträge: 257
Registriert: 28.07.2007 18:44

Beitrag von Kleopatras_Sister »

ah ok, werde ich testen, sobald ich ein watermakr hab (hab 3 bekommen aber die sind viel zu groß :D)

LG und danke für die Aufklärung, deine Mühe und Zeit :)
Antworten

Zurück zu „[3.0.x] Mods in Entwicklung“