Fremdverlinkung von Bildern unterbinden - Druckversion +- MyBB.de Forum (https://www.mybb.de/forum) +-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html) +--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html) +--- Thema: Fremdverlinkung von Bildern unterbinden (/thread-17677.html) Seiten: Seiten:
1
2
|
Fremdverlinkung von Bildern unterbinden - Jockl - 15.01.2011 Hallo zusammen, auch wenn in unserem Forum die Fremdverlinkung von Bildern untersagt ist, bleibt es doch immer wieder nicht aus, dass es passiert. Ich versuche derzeit, Codeänderungen vorzunehmen, dass entsprechende img-Tags nur als Link angezeigt werden. Hierzu habe ich zum Einen in der editor.js die Funktion imsertIMG wie folgt abgeändert: PHP-Code: insertIMG: function() Das funktioniert soweit auch ganz gut. Allerdings hilft das natürlich nichts, wenn der User die Tags von Hand eingibt, oder ein entsprechender Beitrag zitiert wird. Also dachte ich mir, in der class_parser.php den Bereich für den img-Code wie folgt zu ändern: PHP-Code: // Convert images when allowed. Sobald aber ein Bild-Link vorhanden ist, der sich auf unser Forum bezieht (Attachment), wird das fremd verlinkte Bild so angezeigt: [Bild: 123.jpg] Wenn sich z.B. zwei fremd verlinkte Bilder im Beitrag befinden, dann wird der 1. gar nicht mehr angezeigt, der zweite wird richtig, als URL, umgesetzt. Über einen Hinweis, was da schief läuft oder ob mein Unterfangen aussichtslos ist, wäre ich Euch dankbar. RE: Fremdverlinkung von Bildern unterbinden - Jockl - 15.01.2011 Ich hatte in dem PHP-Code einen Fehler drin. Jetzt scheint es richtig umgesetzt zu werden. Muss nur noch alle möglichen Fälle durch testen. RE: Fremdverlinkung von Bildern unterbinden - Jockl - 12.10.2013 Im Zusammenhang mit den Vorbereitungen auf das 1.6.11 Update bin ich gerade über diese Änderung in meiner class_parser.php "gestolpert". In der MyBB Version 1.6.11 wird die preg_replace Funktion durch preg_replace_callback ersetzt. Abgesehen davon, dass ich so meine Verständnisschwierigkeiten mit callback habe, gelingt es mir auch nicht, den o.a. Code so umzuschreiben, dass es mit preg_replace_callback funktioniert. Über Unterstützung würde ich mich freuen. Ggf. auch dahingehend, ob denn eine Umstellung auf die Nutzung von callback ein "Muss" ist oder was die Vorteile wären.... Dankeschön RE: Fremdverlinkung von Bildern unterbinden - StefanT - 12.10.2013 (12.10.2013, 14:54)Jockl schrieb: Über Unterstützung würde ich mich freuen. Ggf. auch dahingehend, ob denn eine Umstellung auf die Nutzung von callback ein "Muss" ist oder was die Vorteile wären....Der e-Modifier von preg_replace wird in einer zukünftigen PHP-Version entfernt, denn führt kein Weg mehr an einer Code-Änderung vorbei. https://wiki.php.net/rfc/remove_preg_replace_eval_modifier RE: Fremdverlinkung von Bildern unterbinden - NetHunter - 12.10.2013 Bewirkt nicht das herausnehmen des Häkchens in der Forenverwaltung -> Forum bearbeiten, bei [img]-Tags erlauben (benötigt eingeschalteten MyCode), genau das was du möchtest? RE: Fremdverlinkung von Bildern unterbinden - Jockl - 12.10.2013 (12.10.2013, 15:41)StefanT schrieb: Der e-Modifier.....Auch eines der Themen, das einfach nicht in mein Hirn rein will..... (12.10.2013, 17:43)NetHunter schrieb: Bewirkt nicht das herausnehmen des Häkchens in der Forenverwaltung -> Forum bearbeiten, bei [img]-Tags erlauben (benötigt eingeschalteten MyCode), genau das was du möchtest?Nun, das Entfernen des Häkchens bewirkt, dass der MyCode für [img] gar nicht mehr verwendet werden kann. Also auch nicht für die Verlinkung von Bildern der eigenen URL. Es sollte eben nur die Darstellung von Bildern verhindert werden, die fremd verlinkt sind. RE: Fremdverlinkung von Bildern unterbinden - doylecc - 12.10.2013 Eigentlich müsstest du die Abfrage fast genauso auch in die aktuelle class_parser.php mit den Callbacks einbauen können, nur am Ende des Suchpatterns den e-Modifier entfernen. Du nutzt ja sowieso preg_match und den e-Modifier gibt es (wenn ich mich recht erinnere) explizit nur bei preg_replace. PHP-Code: if($options['allow_imgcode'] != 0) RE: Fremdverlinkung von Bildern unterbinden - Jockl - 12.10.2013 Danke für Euer Feedback. Ich hatte es mal so probiert PHP-Code: // Convert images when allowed. Jedenfalls erhalte ich bei dem Versuch mit dem o.a. Code Fehlermeldungen in dieser Art Code: Warning [2] preg_replace_callback(): Requires argument 2, 'postParser::mycode_parse_img_callbackX', to be a valid callback - Line: 402 - File: inc/class_parser.php PHP 5.4.20-1~dotdeb.0 (Linux) RE: Fremdverlinkung von Bildern unterbinden - doylecc - 12.10.2013 Was du auch machen könntest - deine Seite direkt in die 4 preg_replace_callbacks einfügen. Dann bräuchtest du gar keine Extra-Abfrage: PHP-Code: // Convert images when allowed. RE: Fremdverlinkung von Bildern unterbinden - Jockl - 12.10.2013 Das wäre auch machbar, allerdings würden dann die fremd verlinkten Bilder nicht mehr als URL ausgeführt sondern als MyCode dargestellt. Allerdings bin ich gerade ein wenig gefrustet, weil ich merke dass der Parser entsprechend dem ersten Beitrag auch nicht mehr funktioniert. Kann das an der Umstellung von PHP 5.3 auf 5.4 liegen? |