Update 2.0.8 auf 2.0.11

Eine Neuinstallation von phpBB 2.0 wird auf phpBB.de nicht mehr unterstützt.
Siehe auch Entwicklungs-Ende von phpBB 2.0 - Auswirkungen auf phpBB.de
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.

Eine Neuinstallation von phpBB 2.0 wird auf phpBB.de nicht mehr unterstützt.
Siehe auch Entwicklungs-Ende von phpBB 2.0 - Auswirkungen auf phpBB.de
Benutzeravatar
Nico Haase
Mitglied
Beiträge: 1100
Registriert: 10.08.2003 15:19
Wohnort: Neu-Anspach / Darmstadt
Kontaktdaten:

Beitrag von Nico Haase »

....in der login.php, version 2.0.8, steht nicht, was man in den changefiles von 2.0.9 auf 2.0.10 ändern soll? hmm, ist doch einleuchtend, oder ;)

zu phpbb_clean_username: vor

Code: Alles auswählen

//
// Get Userdata, $user can be username or user_id. If force_str is true, the username will be forced.
//
folgendes hinzufügen:

Code: Alles auswählen

// added at phpBB 2.0.11 to properly format the username
function phpbb_clean_username($username)
{
	$username = htmlspecialchars(rtrim(trim($username), "\\"));
	$username = substr(str_replace("\\'", "'", $username), 0, 25);
	$username = str_replace("'", "\\'", $username);

	return $username;
}
Buchtips.net bietet mehr als 2500 Buchrezensionen
Ralf S
Mitglied
Beiträge: 169
Registriert: 01.03.2004 18:05
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von Ralf S »

hallo,

das verstehe ich nicht wo soll das hin ? .in der anleitung von 2.0.10 to 2.0.11 steht doch.
find:

Code: Alles auswählen

$username = isset($HTTP_POST_VARS['username']) ? trim(htmlspecialchars($HTTP_POST_VARS['username'])) : ''; 
      $username = substr(str_replace("\\'", "'", $username), 0, 25); 
      $username = str_replace("'", "\\'", $username);
REPLACE WITH (das heißt doch ersetzen )

Code: Alles auswählen

$username = isset($HTTP_POST_VARS['username']) ? phpbb_clean_username($HTTP_POST_VARS['username']) : '';
wieso soll ich das den wieder einfügen ? und wo oder habe ich das was falsch gelesen.

Code: Alles auswählen

// added at phpBB 2.0.11 to properly format the username 
function phpbb_clean_username($username) 
{ 
   $username = htmlspecialchars(rtrim(trim($username), "\\")); 
   $username = substr(str_replace("\\'", "'", $username), 0, 25); 
   $username = str_replace("'", "\\'", $username); 

   return $username; 
}

das ist meine login.php mit den änderungen

Code: Alles auswählen

//
// Allow people to reach login page if
// board is shut down
//
define("IN_LOGIN", true);

define('IN_PHPBB', true);
$phpbb_root_path = './';
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'] )
	{
                        $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("index.$phpEx", true));
			}
			else
			{
				if( md5($password) == $row['user_password'] && $row['user_active'] )
				{
					$autologin = ( isset($HTTP_POST_VARS['autologin']) ) ? TRUE : 0;

					$session_id = session_begin($row['user_id'], $user_ip, PAGE_INDEX, FALSE, $autologin);

					if( $session_id )
					{
						$url = ( !empty($HTTP_POST_VARS['redirect']) ) ? $HTTP_POST_VARS['redirect'] : "portal.$phpEx";
						redirect(append_sid($url, true));
					}
					else
					{
						message_die(CRITICAL_ERROR, "Couldn't start session : login", "", __LINE__, __FILE__);
					}
				}
				else
				{
$redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : ''; 
$redirect = str_replace('?', '&', $redirect);

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

					$template->assign_vars(array(
						'META' => "<meta http-equiv=\"refresh\" content=\"3;url=login.$phpEx?redirect=$redirect\">")
					);

					$message = $lang['Error_login'] . '<br /><br />' . sprintf($lang['Click_return_login'], "<a href=\"login.$phpEx?redirect=$redirect\">", '</a>') . '<br /><br />' .  sprintf($lang['Click_return_index'], '<a href="' . append_sid("login.$phpEx") . '">', '</a>');

					message_die(GENERAL_MESSAGE, $message);
				}
			}
		}
		else
		{
$redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : ""; 
$redirect = str_replace("?", "&", $redirect);

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


			$template->assign_vars(array(
				'META' => "<meta http-equiv=\"refresh\" content=\"3;url=intro.$phpEx?redirect=$redirect\">")
			);

			$message = $lang['Error_login'] . '<br /><br />' . sprintf($lang['Click_return_login'], "<a href=\"login.$phpEx?redirect=$redirect\">", '</a>') . '<br /><br />' .  sprintf($lang['Click_return_index'], '<a href="' . append_sid("intro.$phpEx") . '">', '</a>');

			message_die(GENERAL_MESSAGE, $message);
		}
	}
	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']);
		}

		if (!empty($HTTP_POST_VARS['redirect']) || !empty($HTTP_GET_VARS['redirect']))
		{
			$url = (!empty($HTTP_POST_VARS['redirect'])) ? $HTTP_POST_VARS['redirect'] : $HTTP_GET_VARS['redirect'];
			redirect(append_sid($url, true));
		}
		else
		{
			redirect(append_sid("intro.$phpEx", true));
		}
	}
	else
	{
		$url = ( !empty($HTTP_POST_VARS['redirect']) ) ? $HTTP_POST_VARS['redirect'] : "portal.$phpEx";
		redirect(append_sid($url, true));
	}
}
else
{
	//
	// Do a full login page dohickey if
	// user not already logged in
	//
	if( !$userdata['session_logged_in'] )
	{
		$gen_anderer_header = TRUE;
                        define('SHOW_ONLINE', true);
                        $page_title = $lang['Login'];
		include($phpbb_root_path . 'includes/page_header.'.$phpEx);

		$template->set_filenames(array(
			'body' => 'login_body.tpl')
		);

		if( isset($HTTP_POST_VARS['redirect']) || isset($HTTP_GET_VARS['redirect']) )
		{
			$forward_to = $HTTP_SERVER_VARS['QUERY_STRING'];

			if( preg_match("/^redirect=([a-z0-9\.#\/\?&=\+\-_]+)/si", $forward_to, $forward_matches) )
			{
				$forward_to = ( !empty($forward_matches[3]) ) ? $forward_matches[3] : $forward_matches[1];
				$forward_match = explode('&', $forward_to);

				if(count($forward_match) > 1)
				{
					$forward_page = '';

					for($i = 1; $i < count($forward_match); $i++)
					{
						if( !ereg("sid=", $forward_match[$i]) )
						{
							if( $forward_page != '' )
							{
								$forward_page .= '&';
							}
							$forward_page .= $forward_match[$i];
						}
					}
					$forward_page = $forward_match[0] . '?' . $forward_page;
				}
				else
				{
					$forward_page = $forward_match[0];
				}
			}
		}
		else
		{
			$forward_page = '';
		}

		$username = ( $userdata['user_id'] != ANONYMOUS ) ? $userdata['username'] : '';

		$s_hidden_fields = '<input type="hidden" name="redirect" value="' . $forward_page . '" />';

		make_jumpbox('viewforum.'.$phpEx, $forum_id);
		$template->assign_vars(array(
			'USERNAME' => $username,

			'L_ENTER_PASSWORD' => $lang['Enter_password'],
			'L_SEND_PASSWORD' => $lang['Forgotten_password'],

			'U_SEND_PASSWORD' => append_sid("profile.$phpEx?mode=sendpassword"),

			'S_HIDDEN_FIELDS' => $s_hidden_fields)
		);

		$template->pparse('body');

		include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
	}
	else
	{
		redirect(append_sid("index.$phpEx", true));
	}

}

?>
gruß ralf
Benutzeravatar
Nico Haase
Mitglied
Beiträge: 1100
Registriert: 10.08.2003 15:19
Wohnort: Neu-Anspach / Darmstadt
Kontaktdaten:

Beitrag von Nico Haase »

du hast davon geschrieben, dass du in deiner login.php, version 2.0.8, etwas ersetzen willst, das aber nicht findest, was in den codechanges von 2.0.9 auf 2.0.10 drinsteht. das ist doch klar: du musst erst von 2.0.8 auf 2.0.9 updaten, dann findest du die stellen
Buchtips.net bietet mehr als 2500 Buchrezensionen
Ralf S
Mitglied
Beiträge: 169
Registriert: 01.03.2004 18:05
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von Ralf S »

hallo,

ich habe alles nach einander umgeschrieben aber von 8>9 muß man nichts in der login.php ändern erst von 9>10 und dort fängt es schon an das die dateien die man finden soll nicht so exestieren wie in der beschreibung.

ich habe die version 2.0.8 habe die dateien aber nach einander von 2.0.8 auf 2.0.11 umgeschrieben sie überspielt und dann das update von 2.0.11 ausgeführt.
ist das falsch ?
muß ich erst alles von 8 > 9 umschreiben und dann updaten
dann von 9 > 10 umschreiben und updaten
dann von 10 >11 umschreiben und updaten

das ist ja sehr viel arbeit ich wollte das alles in einem rutsch machen. den das update trägt doch keine änderungen in die dateien ein deshalb habe ich die ja manuell umgeschrieben.

dann wäre es ja einfacher die version 11 zu installieren und die mods nachzu tragen.

gruß ralf
Benutzeravatar
Nico Haase
Mitglied
Beiträge: 1100
Registriert: 10.08.2003 15:19
Wohnort: Neu-Anspach / Darmstadt
Kontaktdaten:

Beitrag von Nico Haase »

es reicht, einmal am schluss die update_to_2011.php auszuführen. und was war jetzt mit der einen codestelle da? klappts jetzt?
Buchtips.net bietet mehr als 2500 Buchrezensionen
Ralf S
Mitglied
Beiträge: 169
Registriert: 01.03.2004 18:05
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von Ralf S »

hallo,

nein weil weil in der login nicht das steht was ich nach der anleitung finden soll. wie in meinen post vor her beschrieben ist.

von 8 > 9 wird nichts in der login.php geändert.

von 9 > 10 :
soll man das finden

Code: Alles auswählen

$redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : ''; 
               $redirect = str_replace('?', '&', $redirect);
und das finden

Code: Alles auswählen

$redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : ""; 
         $redirect = str_replace("?", "&", $redirect);
aber das gibt es so nicht in der login.php von version 8 und 9 nicht. da 8 und 9 ja identisch sind weil sich von 8 auf 9 nichts geändert hat.

gruß ralf
Benutzeravatar
Nico Haase
Mitglied
Beiträge: 1100
Registriert: 10.08.2003 15:19
Wohnort: Neu-Anspach / Darmstadt
Kontaktdaten:

Beitrag von Nico Haase »

hast du selbst an der login.php was verändert bzw. wurde durch mods was daran verändert? wenn nein: nimm einfach die neue login.php aus dem 2.0.11-komplettpaket und überspiel die alte damit. wenn du doch was verändert hast, dann stell die datei mal zum download bereit und ich such die zeilen dann raus
Buchtips.net bietet mehr als 2500 Buchrezensionen
Ralf S
Mitglied
Beiträge: 169
Registriert: 01.03.2004 18:05
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von Ralf S »

hallo,

habe mal nachgesehen aber von den installierten mods wurde bzw. musste die login.php nicht geändert werden.

habe auch schon die originale login.php von der 2.0.11 genommen aber mit der auch die gleiche fehler meldung:

Code: Alles auswählen

Fatal error: Call to undefined function: phpbb_clean_username() in /home/www/web22/html/phpbb2/login.php on line 57 
das ist die login.php so wie sie im moment bzw. wie sie bei der 2.0.8 läuft:

ist beides die gleiche weil manchmal der eine sever probleme macht:
http://kbscheffer.bei.t-online.de/bilder/login.php.txt
http://www.longhorns-flags.de/test/login.php.txt

gruß ralf
Benutzeravatar
Nico Haase
Mitglied
Beiträge: 1100
Registriert: 10.08.2003 15:19
Wohnort: Neu-Anspach / Darmstadt
Kontaktdaten:

Beitrag von Nico Haase »

dann füg mal

Code: Alles auswählen

// added at phpBB 2.0.11 to properly format the username 
function phpbb_clean_username($username) 
{ 
   $username = htmlspecialchars(rtrim(trim($username), "\\")); 
   $username = substr(str_replace("\\'", "'", $username), 0, 25); 
   $username = str_replace("'", "\\'", $username); 

   return $username; 
} 
in die includes/functions.php ein, und zwar vor dem part

Code: Alles auswählen

// 
// Get Userdata, $user can be username or user_id. If force_str is true, the username will be forced. 
//
Buchtips.net bietet mehr als 2500 Buchrezensionen
MaGie
Mitglied
Beiträge: 13
Registriert: 03.04.2004 14:42
Kontaktdaten:

Beitrag von MaGie »

Nico Haase hat geschrieben:
Ralf S hat geschrieben:Hallo,

habe soweit alle dateien manuell geändert.

kann mir einer sagen was das ist bzw wie ich das machen soll:

Öffne eine Konsole, wechsle ins phpBB Verzeichnis und führe diesen Befehl aus:
patch -p1 -i phpBB-2.0.1_to_2.0.11.patch


was für eine konsole ?????
vergiss das einfach wieder ;)
Hmm ich würde es aber auch gerne wissen, da ich mir liebend gerne die Mühe sparen würde alles per hand umzutippen!
Ich hab als console mir die cygwin heruntergeladen! Jedoch bin ich der totale newbe und weiß somit nit wie ich mich auf einen ftpserver connecte und so, wäre echt nett, wenn sich jemand die Mühe machen würde und a kleen bissel was erzählen würde wie man bis dahin kommt, dat man :

patch -p1 -i phpBB-2.0.1_to_2.0.11.patch

eingeben kann!

herzlichsten dank
Gesperrt

Zurück zu „phpBB 2.0: Installation und Update“