Seite 1 von 1

Quiz Mod - Link ins ACP bei vorgeschlagener Quizfrage o.F.

Verfasst: 02.03.2005 23:54
von modbo
Schlägt ein Benutzer eine Quizfrage vor, bekommt der Admin eine PN, in welcher steht:

Code: Alles auswählen

Soeben wurde von [1] eine neue Quizfrage vorgeschlagen.
Sie können sich die Quizfrage im Adminbereich in der [2] oder gleich direkt unter [3] ansehen.
MfG
der Quizbot dieses Boards
Die eckigen Klammern werden durch
[1] Benutzername
[2] Quizfragen-Übersicht
[3] Quizfragen bearbeiten
ersetzt. Soweit alles ok. Auch die Links hinter [2] und [3] sind mit korrektem Pfad hinterlegt.
[2] http://www.meinedomain.de/phpBB2/admin/admin_quiz.php
[3] http://www.meinedomain.de/phpBB2/admin/ ... quiz_id=12 (id=Beispiel)

Klick ich allerdings in der PN auf einen der beiden Links, lande ich im Foren-Index.
Ansonsten läuft der Quiz Mod einwandfrei. Ist das nur bei mir so? Gibt es dafür eine Lösung?

Ich hab die Suche bemüht, bin aber nicht fündig geworden.

Verfasst: 03.03.2005 09:39
von steffi1977
das ist bei mir genauso

Verfasst: 03.03.2005 17:02
von saerdnaer
das liegt an irgendeinem zusätzlich installiertem hack der euch aus dem adminbereich rausschmeißt sobalt man die ohne session id aufruft.
die links lassen sich nicht ändern, da man in dem moment in dem die pn geschrieben nicht wissen kann, welche sid der admin haben wird.

also bleibt einem nichts anderes übrig als den entsprechenden code, der einen rausschmeißt, zu ändern.
wenn mir jemand den link zu einer admin/pagestart.inc (oder .php) postet kann ich helfen.

ah

Verfasst: 03.03.2005 17:20
von modbo
Link entfernt

... und die Datei noch einmal selber als zip: pagestart.php.zip

Verfasst: 03.03.2005 17:57
von saerdnaer
hmm wer hat den das programiert; da wird zuerst aufwändig die url von der man kommt vorbereitet und dann wird sich einfach nicht benutzt, sondern man wird auf die index.php umgeleitet

Code: Alles auswählen

if ($HTTP_GET_VARS['sid'] != $userdata['session_id'])
{
	$url = str_replace(preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['server_name'])), '', $HTTP_SERVER_VARS['REQUEST_URI']);
	$url = str_replace(preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['script_path'])), '', $url);
	$url = str_replace('//', '/', $url);
	$url = preg_replace('/sid=([^&]*)(&?)/i', '', $url);
	$url = preg_replace('/\?$/', '', $url);
	$url .= ((strpos($url, '?')) ? '&' : '?') . 'sid=' . $userdata['session_id'];

	redirect("index.$phpEx?sid=" . $userdata['session_id']);
}
lösung des problems:
vor

Code: Alles auswählen

$HTTP_GET_VARS['sid'] != $userdata['session_id']
folgendes einfügen:

Code: Alles auswählen

!empty($HTTP_GET_VARS['sid']) &&
allerdings wird dann die session id nur noch dann überprüft wenn sie über die url übergeben wurde.

ah

Verfasst: 03.03.2005 18:12
von modbo
Ok, danke.

>allerdings wird dann die session id nur noch dann überprüft wenn sie über die url übergeben wurde.

Kannst du mir das genauer erläutern? Was bedeutet das?
Ich sehe zwei Nachteile, die es gilt abzuwiegen.

Entweder ich kann nicht direkt aus der PN ins ACP des Quiz Mods, oder ich habe das "Problem" was du beschreibst.
Stellt sich mir die Frage, was ist schlimmer :lol:

Wenn die Codeänderung in der pagestart.php gravierendere Nachteile mit sich bringt, würde ich die Links einfach aus der PN entfernen und darauf verzichten.

Thx

Verfasst: 05.03.2005 11:19
von saerdnaer
frag mich nicht warum die diese abfrage dort eingebaut haben; in meinen augen ist das sinnlos