MyBB.de Forum

Normale Version: Externe Bilder blockieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

bisher habe ich die URLs von Bildhostern einfach über den Badwords-Filter ersetzt. Mit einer endlichen Zahl von URLs klappt das auch.
Jetzt möchte ich aber alle Grafiken, die außerhalb meiner Domain liegen blockieren. (Aus Gründen des Datenschutzes und Copyrights)
Ich habe aber gerade keine zündende Idee, wie ich das anstellen soll. 

Ich bin zwar etwas erstaunt, dass ich mit der Suche nichts gefunden habe, das kann aber auch an der Wahl der Suchbegriffe liegen  Rolleyes

Um es nochmal zu verdeutlichen:
Code:
[img]https://meineDomain/...[/img]
soll ganz normal das jeweilige Bild anzeigen
Code:
[img]https://andereDomain/...[/img]
Soll durch einen Texthinweis ersetzt werden.

Ich vermute mal, dass das kein großes Ding ist, aber mir fehlt der Clou
Mir fielen spontan zwei Lösungswege ein:
1. Mittels mod_rewrite alle möglichen Bilddatei-Formate (*.jpg, *.png, *.gif, ...) filtern und auf eine eigene Resource umleiten (z.B. auf ein eigenes lokales Hinweisbild).
2. PHP-Code des Parsers bearbeiten und für die Funktionen für das IMG-Tag modifizieren.

Leider habe ich keine greifbare Lösung parat.

[ExiTuS]
Aus Datenschutz- oder Copyrightgründen muss doch kein Bild blockiert werden.
Es würde doch genügen, wenn bei externen Bildern nur der Link statt des Bildes angezeigt wird und dieser mit target_ blank versehen ist.
Stimmt, das würde komplett reichen Smile
Wie stelle ich das an?
Du kannst folgendes tun. Damit werden externe Images gar nicht angezeigt.

Bearbeite das Template "mycode_img" wie folgt:
PHP-Code:
<if strpos($url$_SERVER['SERVER_NAME']) then>
<
img src="{$url}loading="lazy" {$width}{$heightalt="{$alt}"{$css_align} class="mycode_img" />
</if> 

Damit du PHP-Code in Templates benutzen kannst muss aber dieses Plugin installiert sein.
Somit brauchst Du aber keine Core-Dateien ändern.  Wink
Beachte, dass sich diese Änderung nur auf den img-MyCode auswirkt.
Solltest Du HTML erlaubt haben, dann werden img-Tags natürlich weiterhin angezeigt.
______________________________________________
Edit:
Falls Du trotzdem den Link zum Image anzeigen möchtest, dann ändere das Template so:
PHP-Code:
<if strpos($url$_SERVER['SERVER_NAME']) then>
<
img src="{$url}loading="lazy" {$width}{$heightalt="{$alt}"{$css_align} class="mycode_img" />
<else>
{
$url}
</if> 
Danke Smile
Gerne doch.
Wenn Du Dein Ziel damit erreichst, ist´s doch okay. Wink