Hallo, Gast! (Registrieren)

Wir wünschen allen Besuchern frohe Ostern!

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Den angemeldeten Benutzer auf einer myBB Extraseite mit Namen ansprechen
#1
Ich habe mir eine Modifikation oder besser gesagt ein Handbuch heruntergeladen,
welches beschreibt, wie ich eine eigene Seite zu myBB hinzufügen kann. Das habe ich auch gemacht, in dem ich die php-Vorlage des Handbuchs einfach in mein Forum Verzeichnis kopiert habe und ein Template angelegt habe (auch nach der Vorlage), welches mit meiner Extra myBB PHP Seite verknüpft wurde. Wenn ich jetzt diese "hallo.php" aufrufe erscheint eine Seite im MyBB Stil mit dem Forenlogo, der Fuß- und Kopfzeile von myBB und dazwischen befindet sich mein frei gewählter Inhalt, den ich im Template festgelegt habe, in diesem Fall eine Willkommen auf der Seite für Gäste und neu gekommene Benutzer.

Mit dieser Codezeile bekomme ich den angemeldeten Benutzer
$hallousername=$mybb->user['username'];
Wenn ich jetzt {$hallousername} im Template einfüge klappt das normalerweise,
dass ich den Namen dort stehen sehe.

Nun habe ich die gleiche Seite, diesmal als "index.php" aber nun außerhalb meines Forumverzeichnis auf der Startebene der Webseite. Im Verzeichnis "/forum" befindet sich die bereits funktionierende Datei. In der index.php habe ich das Verzeichnis zur global.php richtig angepasst und es erscheint auch die Navigation und alles andere korrekt. Ich kann auch die myBB settings im Template abrufen.
Aber $hallousername ist und bleibt mir außerhalb ein Leerstring. Warum?

Also bei zusätzlich hinzugefügten Seiten zu myBB außerhalb des Forumverzeichnisses lassen sich keine Benutzerdaten wie Benutzername und Benutzernummer erfassen, sehe ich das richtig?
Oder fehlt mir noch etwas?
Also die gleiche Datei würde im Forumverzeichnis funktionieren,
das habe ich bereits probiert. Es kommen auch keine Fehler oder so.
Aber diesmal brauche ich sie eben einmal außerhalb des Forum Verzeichnisses.
Ich hoffe ihr habt verstanden was jetzt mein Problem ist.
In der Politik ist es manchmal wie in der Grammatik: Ein Fehler, den alle begehen, wird schließlich als Regel anerkannt.
André Malraux
Zitieren
#2
Benutze doch gleich $mybb->user['username'] im Template. Wink
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
Ja klar das ginge auch mit {$mybb->user['username'] }. Ich habe mir nur die Variable gebastelt, um es einfacher zum Schreiben zu machen Wink
Genau diese myBB-Variable ($mybb->user['username']) enthält komischerweise einen Leerstring in meiner "index.php" außerhalb des Forumverzeichnisses, obwohl mein Testbenutzer angemeldet ist.
Das diese bei Gästen einen Leerstring enthält ist mir klar.
Warum diese nun einen Leerstring enthält, wenn meine zusätzliche myBB Seite außerhalb von ForumDir
liegt, das ist mir schleierhaft.
In der Politik ist es manchmal wie in der Grammatik: Ein Fehler, den alle begehen, wird schließlich als Regel anerkannt.
André Malraux
Zitieren
#4
Es kann sein, dass die Cookies aus dem Forum dort nicht gelten.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#5
Das bedeutet dann, dass man diese Information auf einer Seite außerhalb des Forum Verzeichnisses nicht bekommen kann, oder könnte ich die Gültigkeit der Cookies irgendwie erweitern bzw. wie würde ich das am
besten tun?
In der Politik ist es manchmal wie in der Grammatik: Ein Fehler, den alle begehen, wird schließlich als Regel anerkannt.
André Malraux
Zitieren
#6
Beachte einfach den Cookie-Pfad, den du im ACP angegeben hast. In Unterordner sind die Cookies verfügbar, in welchen darüber nicht.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#7
Danke, es hat geklappt. Mensch, die Cookies sind ja ganz wichtig, da wäre ich nie drauf gekommen. Smile
In der Politik ist es manchmal wie in der Grammatik: Ein Fehler, den alle begehen, wird schließlich als Regel anerkannt.
André Malraux
Zitieren
#8
Du solltest $mybb->user['username'] vor der Ausgabe aber noch durch htmlspecialchars_uni() schicken, um XSS-Angriffe zu unterbinden.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#9
Danke Michael, das habe ich jetzt nachgeholt, das ist ein sehr wertvoller Tipp.
Wieso was könnte sich böses in einer MyBB Variablen befinden?
Könntest Du mir das bitte näher erklären was es damit (mit XSS) auf sich hat?
Ich dachte nämlich, dass myBB Variablen sicher sind.

EDIT:
Aber klar doch! Die Cookies. Da könnte mir ja jemand ein Cookie XY mit
bösartigem Inhalt unterschieben, das irgendwelche Scripte in die Variable
"Username" einschleust. Oder habe ich das nun doch falsch verstanden?
In der Politik ist es manchmal wie in der Grammatik: Ein Fehler, den alle begehen, wird schließlich als Regel anerkannt.
André Malraux
Zitieren
#10
Wenn der Benutzername HTML enthalten würde, was aber gar nicht erlaubt ist Wink , dann würde das HTML auch so angezeigt. Da könnte man dann z.B. bösartigen Javascript-Code einbauen.
Das ist auf jeden Fall sinnvoll, wobei es gerade bei dieser Variable wohl auch ohne gehen würde...
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  User direkt ansprechen / markieren Betty 1 1.366 13.03.2016, 20:49
Letzter Beitrag: Jockl
  Bei Klick auf User-Namen 404-Fehler Marcus 6 2.244 19.08.2015, 11:39
Letzter Beitrag: Marcus
  Hallo ich suche was bestimmtes kenne den Namen nicht davon Armageddon 1 1.519 24.03.2009, 01:48
Letzter Beitrag: linwinman
  User viewing this Thread, wie kann ich den Namen ändern saad1907 3 1.774 01.07.2008, 16:01
Letzter Beitrag: Ren007nix
  Auflistung der Benutzer mit den meisten Beiträgen Martito 1 1.643 14.06.2008, 12:00
Letzter Beitrag: Michael