MyBB.de Forum

Normale Version: Link Titel automatisch beziehen & öffnen externer Links in neuem Tab
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
(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?

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 
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]; !
okay danke wenn ich das aber mache erscheint dann folgende meldung laut screen
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.
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 
Seiten: 1 2