Interne Verlinkung
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Interne Verlinkung
Mahlzeit
Ich habe ein Problem.
Ich möchte gerne in meinem Forum "interne" Links Posten, so, dass das normal <a href="./index.php">... in den quelltext eingesetzt wird.
Allerdings will das URL Tag einen vollwertigen Link (mit http://www.domain.de) haben.
Muss ich was ändern, oder mache ich einfach nur was falsch?
Ich brauche das, weil ich eine Mod eingebaut habe, die externe links in einem neuen Fenster/Tab öffnet. Wenn ich nun aber einen Link auf meine Seite mit dem normalen http://www.domain.de/index.php mache, dann wird das von der Mod als extern angesehen, weil es eben nicht ./index.php ist ;(
Kann mir da jemand weiter helfen?
EDIT: Habe jetzt die {LOCAL_URL} Variable im BBCode entdeckt, allerdings wird dort die SID nicht angehängt, gibt es dort eine Möglichkeit?
MfG
hmm der 3.
Ich habe ein Problem.
Ich möchte gerne in meinem Forum "interne" Links Posten, so, dass das normal <a href="./index.php">... in den quelltext eingesetzt wird.
Allerdings will das URL Tag einen vollwertigen Link (mit http://www.domain.de) haben.
Muss ich was ändern, oder mache ich einfach nur was falsch?
Ich brauche das, weil ich eine Mod eingebaut habe, die externe links in einem neuen Fenster/Tab öffnet. Wenn ich nun aber einen Link auf meine Seite mit dem normalen http://www.domain.de/index.php mache, dann wird das von der Mod als extern angesehen, weil es eben nicht ./index.php ist ;(
Kann mir da jemand weiter helfen?
EDIT: Habe jetzt die {LOCAL_URL} Variable im BBCode entdeckt, allerdings wird dort die SID nicht angehängt, gibt es dort eine Möglichkeit?
MfG
hmm der 3.
-
- Valued Contributor
- Beiträge: 3570
- Registriert: 21.04.2004 12:22
- Wohnort: Berlin
- Kontaktdaten:
Re: Interne Verlinkung
Klingt irgendwie nach einen Widerspruch.hmmder3 hat geschrieben:Ich brauche das, weil ich eine Mod eingebaut habe, die externe links in einem neuen Fenster/Tab öffnet. Wenn ich nun aber einen Link auf meine Seite mit dem normalen http://www.domain.de/index.php mache, dann wird das von der Mod als extern angesehen, weil es eben nicht ./index.php ist
Du schreibst das du eine Mod installiert hast die externe Link im neuen Fenster öffnet, dennoch tut sie das auch mit internen?
Dann besteht da vllt. ein fehlerhafter Mod-Einbau oder so?!
Um welche Mod handelt es sich denn?
Zudem ist es generell hier auch im falschen Bereich, da es sich nicht um eine standard-Funktion des phpBB3 handelt, sollte es ehr in den Mod-Support Bereich.

Re: Interne Verlinkung
Sorry, ich scheine es falsch erklärt zu haben 
Tut mir auch Leid, wenn ich hier im falschen Forum gelandet bin.
Zur Erklärung der Mod:
ein Link wie: http://www.deinedomain.de/index wird in einem neuen Fenster/Tab geöffnet
ein Link wie: ./index.php wird im selben Fenster geöffnet, da dies ein interner Link ist (er verweist relative auf eine Datei im Stammverzeichnis der Homepage)
ein Link wie: http://www.meinedomain.de/index.php wird in einem neuen Tab aufgemacht, da diese nicht lokal ist.
Allerdings ist dies Nebensache, da ich im BBCode im Adminpanel die Variable {LOCAL_URL} gefunden habe, die eine Lokale URL (./index.php) übergibt.
Mein neues Problem ist sehr wohl ein PHPBB Problem, da ich nun die Lokale URL mit eine SID weitergeben möchte. Das anhängen der SID muss in der Bearbeitung der BBCode Anweisung geschehen (denk ich mir mal).
Nun wollte ich fragen, ob mir dabei jemand helfen kann, da ich durch diese ganzen Zeichen der BBCode Umwandlung nicht mehr durchsteige.
Hoffe das es etwas verständlicher war, als mein erster Post
MfG
hmm der 3.

Tut mir auch Leid, wenn ich hier im falschen Forum gelandet bin.
Zur Erklärung der Mod:
ein Link wie: http://www.deinedomain.de/index wird in einem neuen Fenster/Tab geöffnet
ein Link wie: ./index.php wird im selben Fenster geöffnet, da dies ein interner Link ist (er verweist relative auf eine Datei im Stammverzeichnis der Homepage)
ein Link wie: http://www.meinedomain.de/index.php wird in einem neuen Tab aufgemacht, da diese nicht lokal ist.
Allerdings ist dies Nebensache, da ich im BBCode im Adminpanel die Variable {LOCAL_URL} gefunden habe, die eine Lokale URL (./index.php) übergibt.
Mein neues Problem ist sehr wohl ein PHPBB Problem, da ich nun die Lokale URL mit eine SID weitergeben möchte. Das anhängen der SID muss in der Bearbeitung der BBCode Anweisung geschehen (denk ich mir mal).
Nun wollte ich fragen, ob mir dabei jemand helfen kann, da ich durch diese ganzen Zeichen der BBCode Umwandlung nicht mehr durchsteige.
Hoffe das es etwas verständlicher war, als mein erster Post
MfG
hmm der 3.
-
- Valued Contributor
- Beiträge: 3570
- Registriert: 21.04.2004 12:22
- Wohnort: Berlin
- Kontaktdaten:
Re: Interne Verlinkung
Das mit der Session-ID wird beim BBCode schwer werden, da es beim phpBB3 so ist, das nur Gäste (bzw. nicht eingeloggt User) eine Session -ID bekommen.
D.h. es muss vorher eine Überprüfung gemacht werden ob der jenige eingeloggt ist oder nicht.
Wenn ich das jetzt richtig versteh handelt es sich bei den internen Links, auch um Seiten die zu deiner Homepage gehören, aber nicht zum phpBB3, oder?
Falls ja, wäre vllt. ehr ein Ansatz in Vorlage für in phpBB3 eingebundene Seiten interessanter: Denn dort kann dann auch eine Session-überprüfung gemacht werden.
D.h. es muss vorher eine Überprüfung gemacht werden ob der jenige eingeloggt ist oder nicht.
Wenn ich das jetzt richtig versteh handelt es sich bei den internen Links, auch um Seiten die zu deiner Homepage gehören, aber nicht zum phpBB3, oder?
Falls ja, wäre vllt. ehr ein Ansatz in Vorlage für in phpBB3 eingebundene Seiten interessanter: Denn dort kann dann auch eine Session-überprüfung gemacht werden.
Re: Interne Verlinkung
Meine Seite ist komplett auf dem PHPBB aufgebaut. Alle Extraseiten sind so eingebunden, wie in der Anleitung die du mir verlinkt hast.
Ich habe jetzt nur das Problem, das wenn User im Forum einen anderen Post verlinkt haben, und andere eingeloggte Benutzer dann auf diesen Link klicken, aus dem Forum ausgeloggt werden, da Sie die Cookies blockieren.
Also muss ich irgendwie, die SID an den Link bekommen, damit die User eingeloggt bleiben.
In der "functions_content.php" werden mit diesem Switch die URLs aufgelöst (oder liege ich da falsch?):
Dort ist bereits die Mod verbaut.
Kann das vielleicht dort angepasst werden oder bin ich da vollkommen falsch?
MfG
hmm der 3.
Ich habe jetzt nur das Problem, das wenn User im Forum einen anderen Post verlinkt haben, und andere eingeloggte Benutzer dann auf diesen Link klicken, aus dem Forum ausgeloggt werden, da Sie die Cookies blockieren.
Also muss ich irgendwie, die SID an den Link bekommen, damit die User eingeloggt bleiben.
In der "functions_content.php" werden mit diesem Switch die URLs aufgelöst (oder liege ich da falsch?):
Code: Alles auswählen
switch ($type)
{
case MAGIC_URL_LOCAL:
$tag = 'l';
$relative_url = preg_replace('/[&?]sid=[0-9a-f]{32}$/', '', preg_replace('/([&?])sid=[0-9a-f]{32}&/', '$1', $relative_url));
$url = $url . '/' . $relative_url;
$text = $relative_url;
// this url goes to http://domain.tld/path/to/board/ which
// would result in an empty link if treated as local so
// don't touch it and let MAGIC_URL_FULL take care of it.
if (!$relative_url)
{
return $whitespace . $orig_url . '/' . $orig_relative; // slash is taken away by relative url pattern
}
break;
case MAGIC_URL_FULL:
$tag = 'm';
$text = $short_url;
break;
case MAGIC_URL_WWW:
$tag = 'w';
$url = 'http://' . $url;
$text = $short_url;
break;
case MAGIC_URL_EMAIL:
$tag = 'e';
$text = $short_url;
$url = 'mailto:' . $url;
break;
}
$url = htmlspecialchars($url);
$text = htmlspecialchars($text);
$append = htmlspecialchars($append);
//$html = "$whitespace<!-- $tag --><a$class href=\"$url\">$text</a><!-- $tag -->$append";
// Externe Links extern öffnen
if ($type == MAGIC_URL_EMAIL)
{
$html = "$whitespace<!-- $tag --><a$class href=\"$url\">$text</a><!-- $tag -->$append";
}
elseif ($type == MAGIC_URL_LOCAL)
{
$html = "$whitespace<!-- $tag --><a$class href=\"$url\" onclick=\"window.open(this.href);return false;\">$text</a><!-- $tag -->$append";
}
else
{
$html = "$whitespace<!-- $tag --><a$class href=\"$url\" onclick=\"window.open(this.href);return false;\">$text</a><!-- $tag -->$append";
}
Kann das vielleicht dort angepasst werden oder bin ich da vollkommen falsch?
MfG
hmm der 3.
-
- Valued Contributor
- Beiträge: 3570
- Registriert: 21.04.2004 12:22
- Wohnort: Berlin
- Kontaktdaten:
Re: Interne Verlinkung
Hast du dir dann auch wirklich mal das weiter unten angeschaut "Weitergabe der Sitzungsdaten" und auch in die neue Seite das mit dem überprüfen der Benutzerrechte usw.?hmmder3 hat geschrieben:Also muss ich irgendwie, die SID an den Link bekommen, damit die User eingeloggt bleiben.
Also ich habe bei mir auch benutzerdefinierte Seiten eingebunden und da funktioniert das alles.
Re: Interne Verlinkung
Es geht gar nicht um die Benutzerdefinierten Seiten hier, sondern darum, das die SID nicht an interne Links, die ich in Beiträge schreibe, angehängt wird.
Das soll heißen, wenn ich hier jetzt auf diesen Thread verlinke (posting.php?mode=reply&f=74&t=218950) fehlt die SID und du, wenn du keine Cookies an hast, wirst ausgeloggt.
Meine Frage ist nun, ob man das irgendwie fixen kann? Und wenn, wie es geht.
Ich habe mich jetzt schon durch die Dateien gelesen, aber komme einfach nicht weiter, da die Dateien so verzweigt sind, das man nicht mal ein kleines Debuggen durchlaufen lassen kann, um zu sehen, nach welchem Schritt welche Variable welchen Wert hat.
Wenn das nicht geht, muss ich halt mit ausgeloggten Usern leben. Mein Problem ist nur, das ich mir ein eigenes Newssystem geschrieben habe, und dort die Links auch zum ausloggen führen, weil wie gesagt, die SID nicht angehängt wird
Aber das ist ein anderes Thema, mir geht's darum, das ich die SID an die Internen Links in Beiträgen bekomme.
MfG
hmm der 3.
Das soll heißen, wenn ich hier jetzt auf diesen Thread verlinke (posting.php?mode=reply&f=74&t=218950) fehlt die SID und du, wenn du keine Cookies an hast, wirst ausgeloggt.
Meine Frage ist nun, ob man das irgendwie fixen kann? Und wenn, wie es geht.
Ich habe mich jetzt schon durch die Dateien gelesen, aber komme einfach nicht weiter, da die Dateien so verzweigt sind, das man nicht mal ein kleines Debuggen durchlaufen lassen kann, um zu sehen, nach welchem Schritt welche Variable welchen Wert hat.
Wenn das nicht geht, muss ich halt mit ausgeloggten Usern leben. Mein Problem ist nur, das ich mir ein eigenes Newssystem geschrieben habe, und dort die Links auch zum ausloggen führen, weil wie gesagt, die SID nicht angehängt wird

Aber das ist ein anderes Thema, mir geht's darum, das ich die SID an die Internen Links in Beiträgen bekomme.
MfG
hmm der 3.
- WileCoyote
- Mitglied
- Beiträge: 901
- Registriert: 13.07.2011 07:38
- Wohnort: Österreich
Re: Interne Verlinkung
Aus meiner Sicht sind Benutzer, die Cookies generell blockieren, selber schuld. In so einem Fall würde ich nichtmal einen Finger krumm machen. Man kann es mit dem Sicherheitsgedanken auch zu weit treiben. Nicht alle Cookies sind böse, sondern machen richtig eingesetzt durchaus Sinn.hmmder3 hat geschrieben:Ich habe jetzt nur das Problem, das wenn User im Forum einen anderen Post verlinkt haben, und andere eingeloggte Benutzer dann auf diesen Link klicken, aus dem Forum ausgeloggt werden, da Sie die Cookies blockieren. Also muss ich irgendwie, die SID an den Link bekommen, damit die User eingeloggt bleiben.
Gruß WileCoyote
-
- Valued Contributor
- Beiträge: 3570
- Registriert: 21.04.2004 12:22
- Wohnort: Berlin
- Kontaktdaten:
Re: Interne Verlinkung
Warum? Meinst du etwa alle deiner Mitglied lehnen Cookies ab?hmmder3 hat geschrieben:Wenn das nicht geht, muss ich halt mit ausgeloggten Usern leben.

Normalerweise ist das so: wenn ein eingeloggtes Mitglied keine Cookies im Browser aktzeptiert, sendet phpBB3 immer automatisch eine S-ID mit, solange man sich in der phpBB3 Umgebung bewegt, also auch wenn ich bspw. von der Forumübersicht auf ein Thema springe oder ein Beitrag verfassen will.
PS, du bist heute der zweite der hier wohl einen Denkfehler hat, denn
Verweist auf die posting (Beitrag erstellen) Seite und nicht auf ein Thread (Thema).hmmder3 hat geschrieben: wenn ich hier jetzt auf diesen Thread verlinke (posting.php?mode=reply&f=74&t=218950)

Habs eben auch selber mal aus spaß getestet, die Session-ID wird immer mit gesendet.
Auch auf Seiten die nach der Vorlage mit eingebunden wurden.

Wie gesagt das System erkennt das automatisch, also auch wenn du in einem Beitrag einen internen Link gepostet hast, wird bei den leuten ohne Cookie, die Session-ID angehangen.

Re: Interne Verlinkung
Ok, mein Fehler mit dem Link, ist schon spät 
kannst du mir mal bitte sagen, wie du in einem Beitrag, intern verlinkst?
bei mir musste ich extra ein BBCode erstellen. So langsam habe ich das Gefühl, ich habe da was kaputt gemacht

kannst du mir mal bitte sagen, wie du in einem Beitrag, intern verlinkst?
bei mir musste ich extra ein BBCode erstellen. So langsam habe ich das Gefühl, ich habe da was kaputt gemacht
