Seite 1 von 1

Wie binde ich das Login auf der HP ein?-google schon benutzt

Verfasst: 28.10.2005 22:55
von Landor Caeyran
Vor ab.
Ich habe gesucht und gegoogelt :-)
Was dort steht funktioniert lokal auf einem Testsystem recht gut.
Ich vermute das mein Problem evtl etwas mit Cookies zu tun hat und davon verstehe ich noch recht wenig.

Folgendes ist die Lage
http://www.xxx.info
http://forum.xxx.info


http://www.xxx.info/xx.php soll ein Login erhalten

Code: Alles auswählen

<form action="http://forum.xxx.info/login.php" method="POST">
Benutzername:<br><input type="text" class="form_textfield" name="username">
Passwort:<br><input type="password" class="form_textfield" name="password">
Autologin? <br><input type="checkbox" class="form_checkbox" name="autologin">
<input type="hidden" name="redirect" value="http://www.xxx.info/xx.php?seriennummer=<?=$UID?>">
<input type="submit" name="login" value="Login"/>
</form>
Dazu habe ich in die http://www.xxx.info/xx.php folgendes eingebunden:

Code: Alles auswählen

//Benötigte Dateien und Variablen von phpBB
define('IN_PHPBB', true);
$phpbb_root_path = '../../forum.xxx.info/xxx_forum/';
define('IN_PHPBB', true);
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//Session auslesen und Benutzer-Informationen laden
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
$phpbb_root_path = '../../forum.xxx.info/xxx_forum/';

Dies habe ich so gewählt weil sonst eine Warnung ausgegeben wird, wenn ich direkt http://forum.xxx.info/ eingebe.
Dieser Pfad stimmt auf dem Server auch
Nun nutzt er das Login des Forums (habe mal in den Funktionen ein "die" eingebaut um zu sehen ob er das überhaupt durchläuft) und ich werde wieder auf die Ursprungsseite zurückgeleitet.. aber leider bin ich nicht angemeldet.

Liegt das an den Domains? Kann man das dennoch hinbekommen?



--edit
Interessant ist auch, dass ich bei Mozilla wieder redirectet werde.
Beim IE findet er nichtmal die http://forumxx.info/login.php ?? wenn ich in der Adressleiste dann aber einfach nochmal enter drücke, findet er dies.

Code: Alles auswählen

function redirect($url)
{
	global $db, $board_config;

	if (!empty($db))
	{
		$db->sql_close();
	}

	if (strstr(urldecode($url), "\n") || strstr(urldecode($url), "\r"))
	{
		message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.');
	}

	$server_protocol = ($board_config['cookie_secure']) ? 'https://' : 'http://';
	$server_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['server_name']));
	$server_port = ($board_config['server_port'] <> 80) ? ':' . trim($board_config['server_port']) : '';
	$script_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['script_path']));
	$script_name = ($script_name == '') ? $script_name : '/' . $script_name;
	[b]//$url = preg_replace('#^\/?(.*?)\/?$#', '/\1', trim($url));[/b]

	// Redirect via an HTML form for PITA webservers
	if (@preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE')))
	{
		header('Refresh: 0; URL=' . $server_protocol . $server_name . $server_port . $script_name . $url);
		echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><meta http-equiv="refresh" content="0; url=' . $server_protocol . $server_name . $server_port . $script_name . $url . '"><title>Redirect</title></head><body><div align="center">If your browser does not support meta redirection please click <a href="' . $server_protocol . $server_name . $server_port . $script_name . $url . '">HERE</a> to be redirected</div></body></html>';
		exit;
	}

	// Behave as per HTTP/1.1 spec for others
[b]	//header('Location: ' . $server_protocol . $server_name . $server_port . $script_name . $url);
	if(substr($url, 1, 8) == 'http://') {
		header('Location: ' . $url);
	}else {
		header('Location: ' . $server_protocol . $server_name . $server_port . $script_name . $url);
	}[/b]
	exit;
In Fett habe ich die Änderungen hervorgehoben.
Den ersten Teil musste ich auskommentieren da sonst die URL immer /http://... da stehen hatte

Verfasst: 29.10.2005 01:56
von Landor Caeyran
So habe das Problem gefunden.

Zumindest klappte dies in einigen lokalen Test.

Die Domain des Cookies muß ohne die SubDomains eingetragen werden.
IN meinem Falle war sogar gar nichts angegeben.
Wenn man nun xxx.info einträgt, dann klappt es.

Verfasst: 26.11.2005 23:49
von Landor Caeyran
Eine Frage habe ich da dann doch.

Lage:
Browser FireFox

1tes Fenster
http://forum.xxx

2tes Fenster
http://www.xxx

Ich bin ausgeloggt.
im 2ten Fenster steht "Hallo Gast"


Ich logge im Forum ein (1tes Fenster)

Ich aktuallisiere das 2te Fenster, es kommt "Hallo Landor"


Selber versuch mit dem IE, da gehts nicht, weiß einer warum?