Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Link Titel automatisch beziehen & öffnen externer Links in neuem Tab
#11
(02.02.2010, 22:12)Boolean schrieb: Das geht übringens so:

PHP-Code:
$string file_get_contents('http://www.URL.de/');
preg_match('/<title>(.*)<\/title>/U'$string$hits);
// $hits[1] der String hat nun den Seitentitel der Seite. 


wo an welche stelle muss der code damit dieser auch funzt?

Zitieren
#12
Hallo sonic1978,

öffne die Datei ".../inc/class_parser.php" mit einem geeigneten Editor und ersetze die Zeile 868
PHP-Code:
        $name preg_replace("#&amp;\#([0-9]+);#si""&#$1;"$name); // Fix & but allow unicode 
durch
PHP-Code:
        // start 'thread title' as 'link name' (06.02.2011) -> https://www.mybb.de/forum/thread-15573.html
        
$string file_get_contents($fullurl);
        
preg_match('/<title>(.*)<\/title>/U'$string$hits); // $hits[1] des String hat nun den Seitentitel der Seite. 
        
$name $hits[1];
        
// end 'thread title' as 'link name'

        
$name preg_replace("#&amp;\#([0-9]+);#si""&#$1;"$name); // Fix & but allow unicode 
Zitieren
#13
Geniale Idee! nicht.

Wenn du das nur so änderst reicht eine präperierte Seite um permanenten beliebigen HTML/JS-Code einzuschleusen.
Dann hast du ne XSS-Lücke, ohne ne Präparierte URL - das simple ANschauen des Post würde reichen.

Also: $name = htmlspecialchars_uni($hits[1]); statt $name = $hits[1]; !
Zitieren
#14
okay danke wenn ich das aber mache erscheint dann folgende meldung laut screen


Angehängte Dateien Thumbnail(s)
   
Zitieren
#15
Kein Zugriff erlaubt auf die URL die du versuchst aufzurufen/auszulesen.

Mach sowas: $string = @file_get_contents($fullurl); statt $string = file_get_contents($fullurl); und danach if(strlen(trim($string))) um zu überprüfen ob du Daten bekommen hast.
Zitieren
#16
wo an welcher stelle soll der code eingefügt werden?

Code:
$string = @file_get_contents($fullurl); statt $string = file_get_contents($fullurl); und danach if(strlen(trim($string)))

immoment sieht der code bei mir so aus

PHP-Code:
// start 'thread title' as 'link name' (06.02.2011) -> https://www.mybb.de/forum/thread-15573.html
$string file_get_contents($fullurl);
preg_match('/<title>(.*)<\/title>/U'$string$hits); // $hits[1] des String hat nun den Seitentitel der Seite. 
$name htmlspecialchars_uni($hits[1]); statt $name $hits[1];
// end 'thread title' as 'link name'
$name preg_replace("#&amp;\#([0-9]+);#si""&#$1;"$name); // Fix & but allow unicode 
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Links in Beiträgen NICHT in neuem Fenster öffnen? lantis 8 2.718 31.05.2015, 22:40
Letzter Beitrag: hkkp
  Bestimmte Worte mit Link versehen ( automatisch ) das_seppl 2 1.747 12.09.2013, 20:58
Letzter Beitrag: RedParkz
  Im Beitrag Link öffnen klappt nicht! Licht 4 1.718 17.03.2013, 18:21
Letzter Beitrag: Licht
  [geteilt] "Forum ist ein Externer Link" Frage Torie 13 6.310 17.09.2012, 08:13
Letzter Beitrag: Torie
  Hinweis, dass ein externer Link aufgerufen wird gmx 1 1.750 03.05.2011, 18:59
Letzter Beitrag: NetHunter