Werde oft als Anonymous eingeloggt

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Seether
Mitglied
Beiträge: 1446
Registriert: 10.10.2002 23:42

Werde oft als Anonymous eingeloggt

Beitrag von Seether »

Hi möchte die Login-Routine von phpbb auf dem Rest meiner Seite einsetzen. Das klappt auch recht gut, allerdings werde ich "manchmal" als Anonymous eingeloggt obwohl ich natürlich meinen Usernamen und Passwort eingebe.

Folgendes habe ich festgestellt:
-Bei Eingabe eines nicht vorhandenen Usernamen wird der Login natürlich nicht ausgeführt
-Bei Eingabe eines falschen Passworts scheitert der Login auch, aber an einer anderen Stelle im Script.
-Bei richtiger Eingabe von Usernamen und Passwort werden 2 Sessions angelegt. Einmal für den User und einmal eben für Anonymous....


Hier der Code.

Code: Alles auswählen

define("IN_LOGIN", true);
define('IN_PHPBB', true);
$phpbb_root_path = 'phpbb/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//
// Set page ID for session management
//
$userdata = session_pagestart($user_ip, PAGE_LOGIN);
init_userprefs($userdata);
//
// End session management
//

// session id check
if (!empty($HTTP_POST_VARS['sid']) || !empty($HTTP_GET_VARS['sid']))
{
	$sid = (!empty($HTTP_POST_VARS['sid'])) ? $HTTP_POST_VARS['sid'] : $HTTP_GET_VARS['sid'];
}
else
{
	$sid = '';
}

if( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) || isset($HTTP_POST_VARS['logout']) || isset($HTTP_GET_VARS['logout']) )
{
	 if( ( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) ) && (!$userdata['session_logged_in'] || isset($HTTP_POST_VARS['admin'])) )
	{
		 $username = isset($HTTP_POST_VARS['username']) ? phpbb_clean_username($HTTP_POST_VARS['username']) : '';
		$password = isset($HTTP_POST_VARS['password']) ? $HTTP_POST_VARS['password'] : '';

		$sql = "SELECT user_id, username, user_password, user_active, user_level 	FROM " . USERS_TABLE . "	WHERE username = '" . str_replace("\\'", "''", $username) . "'";
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Error in obtaining userdata', '', __LINE__, __FILE__, $sql);
		}

		if( $row = $db->sql_fetchrow($result) )
		{
			if( $row['user_level'] != ADMIN && $board_config['board_disable'] )
			{
				
				redirect(append_sid("index6.$phpEx", true));
			}
			else
			{
				if( md5($password) == $row['user_password'] && $row['user_active'] )
				{
					$autologin = ( isset($HTTP_POST_VARS['autologin']) ) ? TRUE : 0;

					$admin = (isset($HTTP_POST_VARS['admin'])) ? 1 : 0;
               $session_id = session_begin($row['user_id'], $user_ip, PAGE_INDEX, FALSE, $autologin, $admin);

					if( $session_id )
					{
						$url="index.php";
      			$sid=$userdata['session_id'];
      			redirect_login($url."?sid=$sid");
					}
					else
					{
						message_die(CRITICAL_ERROR, "Couldn't start session : login", "", __LINE__, __FILE__);
					}
				}
				else
				{
					$url="index.php?kategorie=Community&f2=";
					redirect_login($url);
				}
			}
		}
		else
		{
			$url="index.php?kategorie=Community&f1=";
			redirect_login($url);
		}
	}
	else if( ( isset($HTTP_GET_VARS['logout']) || isset($HTTP_POST_VARS['logout']) ) && $userdata['session_logged_in'] )
	{
		if( $userdata['session_logged_in'] )
		{
			session_end($userdata['session_id'], $userdata['user_id']);
		}
		$url="index.php";
		redirect_login($url);
  }
  else
  {
      $url="index.php";
      $sid=$userdata['session_id'];
      redirect_login($url."?sid=$sid");
  }
}
else
{
	$url="index.php?kategorie=Communnity";
	redirect_login($url);
}

S.
Benutzeravatar
Martin Truckenbrodt
Mitglied
Beiträge: 1143
Registriert: 15.08.2003 23:16
Wohnort: Südthüringen
Kontaktdaten:

Beitrag von Martin Truckenbrodt »

Hallo
appendsid()

Gruß Martin
Advanced Block MOD 1.1.4 ist released! - Verhindere Spam auf Deinem phpBB3 Board mit Stop Forum Spam, BotScout, Akismet, Project Honey Pot und verschiedenen IP-RBL und Domain-RBL DNS Blacklisten! - Meine MODs - phpBB Complete Core
Seether
Mitglied
Beiträge: 1446
Registriert: 10.10.2002 23:42

Beitrag von Seether »

Und das soll was bringen? Hängt doch nur die SID hinten dran....


S.
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag von fanrpg »

Seether hat geschrieben:Und das soll was bringen? Hängt doch nur die SID hinten dran....


S.
Genau deswegen ja, kann manchmal schon hilfreich sein.
Seether
Mitglied
Beiträge: 1446
Registriert: 10.10.2002 23:42

Beitrag von Seether »

Ähm...wie ihr oben sehen könnt, hänge ich die SID hinten dran...

S.
Benutzeravatar
Martin Truckenbrodt
Mitglied
Beiträge: 1143
Registriert: 15.08.2003 23:16
Wohnort: Südthüringen
Kontaktdaten:

Beitrag von Martin Truckenbrodt »

Hallo,
und das funzt so?
Probier halt mal appendsid() aus.

Gruß Martin
Advanced Block MOD 1.1.4 ist released! - Verhindere Spam auf Deinem phpBB3 Board mit Stop Forum Spam, BotScout, Akismet, Project Honey Pot und verschiedenen IP-RBL und Domain-RBL DNS Blacklisten! - Meine MODs - phpBB Complete Core
Seether
Mitglied
Beiträge: 1446
Registriert: 10.10.2002 23:42

Beitrag von Seether »

Wo soll da der Unterschied sein ob ein Programm für mich die SID dran hängt oder ich?


S.
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag von fanrpg »

Seether hat geschrieben:Wo soll da der Unterschied sein ob ein Programm für mich die SID dran hängt oder ich?


S.
Na ja einmal wird die sid per cookie übergeben das andere mal halt per GET.
Aber eigentlich ist das auch ok die sid per GET zu übergeben.
Seether
Mitglied
Beiträge: 1446
Registriert: 10.10.2002 23:42

Beitrag von Seether »

Ok, ich glaube wir reden aneinander vorbei.

append_sid() macht nichts weiter als an einen link hinten ?sid=$SID dranzuhängen. Das hat mit den Cookies ja nichts zu tun.

Append_sid() habe ich entfernt und hänge dafür selber die SID dran. Soweit alles i.O.

Aber irgendwo ist der Wurm drin. Ich <i>vermute</i> es hat was mit der IP zu tun. Anhand der IP sucht sich das Script die Session raus und gelangt, warum auch immer, zur Sessions von Anonymous...


S.
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag von fanrpg »

Seether hat geschrieben:Ok, ich glaube wir reden aneinander vorbei.

append_sid() macht nichts weiter als an einen link hinten ?sid=$SID dranzuhängen. Das hat mit den Cookies ja nichts zu tun.

Append_sid() habe ich entfernt und hänge dafür selber die SID dran. Soweit alles i.O.

Aber irgendwo ist der Wurm drin. Ich <i>vermute</i> es hat was mit der IP zu tun. Anhand der IP sucht sich das Script die Session raus und gelangt, warum auch immer, zur Sessions von Anonymous...


S.
Nein append_sid() hängt nicht immer eine SID ran sondern nur wenn das nicht über die Cookiemethode möglich ist.
Antworten

Zurück zu „Coding & Technik“