MyBB.de Forum

Normale Version: img tag deaktiveren ausserhalb des Servers
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Ersetze:
PHP-Code:
    function mycode_parse_img($url$dimensions=array(), $align='')
    {
        
$url trim($url);
        
$url str_replace("\n"""$url);
        
$url str_replace("\r"""$url);
        if(
$align == "right")
        {
            
$css_align " style=\"float: right;\"";
        }
        else if(
$align == "left")
        {
            
$css_align " style=\"float: left;\"";
        }
        if(
$dimensions[0] > && $dimensions[1] > 0)
        {
            return 
"<img src=\"{$url}\" width=\"{$dimensions[0]}\" height=\"{$dimensions[1]}\" border=\"0\" alt=\"\"{$css_align} />";
        }
        else
        {
            return 
"<img src=\"{$url}\" border=\"0\" alt=\"\"{$css_align} />";            
        }
    } 
durch:
PHP-Code:
    function mycode_parse_img($url$dimensions=array(), $align='')
    {
        global 
$mybb;
        
$url trim($url);
        
$url str_replace("\n"""$url);
        
$url str_replace("\r"""$url);
        if(
preg_match("#".preg_quote("*HIER EINE GEWÜNSCHTE URL*")."#"$url) || preg_match("#".preg_quote("*HIER EINE GEWÜNSCHTE URL*")."#"$url))
        {
            return 
"<a href=\"{$url}\" target=\"_blank\">{$url}</a>";
        }
        if(
$align == "right")
        {
            
$css_align " style=\"float: right;\"";
        }
        else if(
$align == "left")
        {
            
$css_align " style=\"float: left;\"";
        }
        if(
$dimensions[0] > && $dimensions[1] > 0)
        {
            return 
"<img src=\"{$url}\" width=\"{$dimensions[0]}\" height=\"{$dimensions[1]}\" border=\"0\" alt=\"\"{$css_align} />";
        }
        else
        {
            return 
"<img src=\"{$url}\" border=\"0\" alt=\"\"{$css_align} />";            
        }
    } 
klingt nicht uninteressant, ich bin auch derzeit am überlegen was ich tue, denn nach der aktuellen rechtslage haben wir forenbeitreiber ja bald problematiken die gelöst werden müssen!

wie funktioniert das denn, wenn ich eine liste von url freigeben möchte? z.b. free imagehoster. da kann ich ja nicht die komplette url angeben, sindern nur den anfangspfand "http://www.imageshack.com/*" wie geht das bzw. was ist bei subdomains?
irgendwie werden sämtliche Bilder die von außen kommen trotzdem angezeigt, obwohl ich für die keine Ausnahme gegeben habe.
Es wird geschaut, ob der eingegebene Text in der URL vorkommt. "imageshack.com" sollte alles sperren.
(31.03.2009, 22:36)problemkind schrieb: [ -> ]irgendwie werden sämtliche Bilder die von außen kommen trotzdem angezeigt, obwohl ich für die keine Ausnahme gegeben habe.
Mhm, kannst du mal deine Datei anhängen?
(01.04.2009, 16:21)StefanT schrieb: [ -> ]Es wird geschaut, ob der eingegebene Text in der URL vorkommt. "imageshack.com" sollte alles sperren.
(31.03.2009, 22:36)problemkind schrieb: [ -> ]irgendwie werden sämtliche Bilder die von außen kommen trotzdem angezeigt, obwohl ich für die keine Ausnahme gegeben habe.
Mhm, kannst du mal deine Datei anhängen?

Nachdem das nicht ging habe ich die Datei rückgängig gemacht und alles ausgeschlossen.

Oder meintest du in den "" sollen alle die gesperrt werden. Wenn ich also "imageshack.com" eingebe, werden alle von imageshack.com nicht mehr angezeigt ?

Dabei wäre es umgekehrt interessanter: wenn man "imageshack.com" angibt sollten nur die Bilder innerhalb des Servers und die von "imageshack.com" angezeigt werden. Eine Sperrliste von sämtlichen nicht erwünschten URLs würde die Datei prall voll füllen, wenn es nur so geht, dann sollte man überlegen eine eigene Datei mit unerwünschten URLs anzulegen, dass wäre dann aber ein weiteres Problem das zu programmieren denke ich.
Dann:
PHP-Code:
    function mycode_parse_img($url$dimensions=array(), $align='')
    {
        global 
$mybb;
        
$url trim($url);
        
$url str_replace("\n"""$url);
        
$url str_replace("\r"""$url);
        if(!
preg_match("#".preg_quote($mybb->settings['bburl'])."#"$url) && !preg_match("#".preg_quote("HIER DIE URL")."#"$url))
        {
            return 
"<a href=\"{$url}\" target=\"_blank\">{$url}</a>";
        }
        if(
$align == "right")
        {
            
$css_align " style=\"float: right;\"";
        }
        else if(
$align == "left")
        {
            
$css_align " style=\"float: left;\"";
        }
        if(
$dimensions[0] > && $dimensions[1] > 0)
        {
            return 
"<img src=\"{$url}\" width=\"{$dimensions[0]}\" height=\"{$dimensions[1]}\" border=\"0\" alt=\"\"{$css_align} />";
        }
        else
        {
            return 
"<img src=\"{$url}\" border=\"0\" alt=\"\"{$css_align} />";            
        }
    } 
habs auch mal getestet. ok soweit. wird denn das bild geladen und als link dargestellt oder wird das bild wirklich nciht geladen und nur verlinkt? aus rechtlichen gründen muss ich das wissen!

wie füge ich denn mehr als eine seite als ausnahme hinzu?
ich habe folgendes versucht:
Code:
if(!preg_match("#".preg_quote($mybb->settings['bburl'])."#", $url) && !preg_match("#".preg_quote("imageshack.us" + "flickr.com")."#", $url))

dabei werden aber alle anderen Bilder nicht mehr in einen Link umgewandelt.
Wie soll ich die Liste der erlaubten Hoster erweitern ?
(02.04.2009, 20:03)xplay schrieb: [ -> ]habs auch mal getestet. ok soweit. wird denn das bild geladen und als link dargestellt oder wird das bild wirklich nciht geladen und nur verlinkt? aus rechtlichen gründen muss ich das wissen!
Es wird wirklich nicht geladen Smile
Jetzt ist wirklich nur das Problem das ich irgendwie zu dämlich bin die erlaubten Seiten x-beliebig zu erweitern Sad Wie oben beschrieben wurden alle anderen Hoster komplett ausgeblendet und nicht in eine Art Link umgewandelt. Einfaches kopieren einzelner Codes und die Links zu erweitern mit + oder && hat nicht geklappt, dabei habe ich schon das versucht was ich mir am ehesten vorstellen kann. Nur zu doof das ich kaum Ahnung von PHP habe. Wenn man jetzt noch die Liste auf beliebig viele Image Hoster erweitern könnte, dann wäre das wirklich ein 1A Code.
Seiten: 1 2 3