Seite 1 von 3

Wichtiges Update - 2.0.15

Verfasst: Sa 07.Mai, 2005 19:54
von blondi

Verfasst: Sa 07.Mai, 2005 20:20
von skittles
nicht schon wieder ^1

Verfasst: Sa 07.Mai, 2005 20:22
von tom10
Und jetzt noch schnell eine Anleitung für das phpbb plus und alles wäre gut. ^7

Verfasst: Sa 07.Mai, 2005 20:23
von modbo
[quote="tom10 - Sa 07.Mai, 2005 20:22";p="30916"]Und jetzt noch schnell eine Anleitung für das phpbb plus und alles wäre gut. ^7[/quote]
Kommt bestimmt noch ... die Welt geht solange nicht unter :)

Verfasst: Sa 07.Mai, 2005 21:05
von AmigaLink
Unter anderem wurde eine Funktion des kommenden phpBB 3.0 "Olympus" auf die phpBB 2.0.x Reihe portiert. Um den Administrationsbereich betreten zu können, muss sich der Administrator nun erneut einloggen. Für diese Funktion wurde das Feld "session_admin" in der Tabelle "phpbb_session" sowie eine neue Sprachvariable in der "lang_main.php" hinzugefügt. Es ist also notwendig die "update_to_latest.php" auszuführen.
Eine Auflistung aller Änderungen befindet sich in der Ankündigung auf phpbb.com.
Die Änderung als MOD findet man hier.

Verfasst: Sa 07.Mai, 2005 21:52
von modbo
Hier die code changes für phpBB Plus: http://www.phpbb2.de/dload.php?action=file&file_id=758

//edit: Die Installationsanleitung ist identisch mit jener für das normale phpBB.

Allerdings habe ich während der Installation eine Abweichung gehabt.

Code: Alles auswählen

includes/sessions.php 
#
#-----[ FIND ]---------------------------------------------
# Line 294
					$sql = "UPDATE " . SESSIONS_TABLE . "
						SET session_time = $current_time, session_page = $thispage_id

#
#-----[ REPLACE WITH ]---------------------------------------------
#
					// A little trick to reset session_admin on session re-usage
					$update_admin = (!defined('IN_ADMIN') && $current_time - $userdata['session_time'] > ($board_config['session_length']+60)) ? ', session_admin = 0' : '';

					$sql = "UPDATE " . SESSIONS_TABLE . "
						SET session_time = $current_time, session_page = $thispage_id$update_admin
Die Zeile [ FIND ] lautet in der phpBB Plus Version

Code: Alles auswählen

					$sql = "UPDATE " . SESSIONS_TABLE . "
						SET session_time = $current_time, session_page = $thispage_id, session_topic = '".$thistopic_id ."'
Das

Code: Alles auswählen

, session_topic = '".$thistopic_id ."'
wird beim Update unterschlagen.

Daher habe ich

Code: Alles auswählen

					// A little trick to reset session_admin on session re-usage
					$update_admin = (!defined('IN_ADMIN') && $current_time - $userdata['session_time'] > ($board_config['session_length']+60)) ? ', session_admin = 0' : '';

					$sql = "UPDATE " . SESSIONS_TABLE . "
						SET session_time = $current_time, session_page = $thispage_id$update_admin, session_topic = '".$thistopic_id ."'
eingefügt, in der Hoffnung, dass es so richtig ist.

Verfasst: Sa 07.Mai, 2005 22:58
von blondi
bei mir kommt dieser fehler... hat jemand einen tipp

phpBB : Critical Error

Error creating new session

DEBUG MODE

SQL Error : 1054 Unknown column 'session_admin' in 'field list'

INSERT INTO phpbb_sessions (session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in, SearchBot, UserAgent, session_admin) VALUES ('f4deb12953423acc000e2f9305ac13f7', 2, 1115499467, 1115499467, '549444e7', 0, 1, 0, 'Mozilla/4.0 (compatible; MSIE 6.0;

Line : 224
File : sessions.php

Verfasst: Sa 07.Mai, 2005 23:04
von modbo
@blondi: Datenbank Update gemacht? Diesmal muss die update_to_latest.php ausgeführt werden!
Diese dazu auf deinem Webspace kopieren. Pfad /deinForum(phpBB2 o.ä.)/install/update_to_latest.php. Anschließend die Datei aus der Eingabezeile des Browsers aufrufen und ausführen.

Verfasst: Sa 07.Mai, 2005 23:08
von blondi
ja habe ich gemacht allerdings wenn ich in den admin bereich will komm ich zur log in eingabe und wenn ich mein pw eingebe komm ich trotzdem nicht rein sondern wieder zurück zur login...

Verfasst: Sa 07.Mai, 2005 23:10
von modbo
Fehler liegt wahrscheinlich in der sessions.php. Kannst du ja mal anhängen.

Verfasst: Sa 07.Mai, 2005 23:17
von blondi
meine files...

Verfasst: Sa 07.Mai, 2005 23:33
von modbo
In Zeile 154 fehlte ein Komma. Ich hoffe das wars. Ansonsten konnte ich keinen Unterschied entdecken.

Verfasst: Sa 07.Mai, 2005 23:35
von Stoebi
Guten Abend,

ich hab leider auch ein kleines Problem bbcode.php betreffend.

Ich soll diesen Code finden

Code: Alles auswählen

// [url=xxxx://www.phpbb.com]phpBB[/url] code..
   $patterns[] = "#\[url=([\w]+?://[^ \"\n\r\t<]*?)\](.*?)\[/url\]#is";
   $replacements[] = $bbcode_tpl['url3'];

   // [url=www.phpbb.com]phpBB[/url] code.. (no xxxx:// prefix).
   $patterns[] = "#\[url=((www|ftp)\.[^ \"\n\r\t<]*?)\](.*?)\[/url\]#is";
und mit diesen ersetzen

Code: Alles auswählen

// [url=xxxx://www.phpbb.com]phpBB[/url] code..
   $patterns[] = "#\[url=([\w]+?://[^ \"\n\r\t<]*?)\]([^?].*?)\[/url\]#i";
   $replacements[] = $bbcode_tpl['url3'];

   // [url=www.phpbb.com]phpBB[/url] code.. (no xxxx:// prefix).
   $patterns[] = "#\[url=((www|ftp)\.[^ \"\n\r\t<]*?)\]([^?].*?)\[/url\]#i";
Ich hab aber nur diesen Code:

Code: Alles auswählen

	// [url=xxxx://www.phpbb.com]phpBB[/url] code..
//	$patterns[] = "#\[url=([\w]+?://[^ \"\n\r\t<]*?)\](.*?)\[/url\]#is";
//	$patterns[] = "#\[url=([\w]+?://[^ \"\n\r\t<]*?)\]([^?].*?)\[/url\]#i";
	$patterns[] = "#\[url=([\w]+?://.*?[^ \"\t\n\r<]*?)(( target=)(_parent|_blank|_self))?\](.*?)\[/url\]#i";
	$replacements[] = $bbcode_tpl['url3'];

	// [url=www.phpbb.com]phpBB[/url] code.. (no xxxx:// prefix).
//	$patterns[] = "#\[url=((www|ftp)\.[^ \"\n\r\t<]*?)\](.*?)\[/url\]#is";
//	$patterns[] = "#\[url=((www|ftp)\.[^ \"\n\r\t<]*?)\]([^?].*?)\[/url\]#i";
	$patterns[] = "#\[url=((www|ftp)\.([\w\-]+\.)*?[\w\-]+\.[a-z]{2,4}(:?[0-9]*?/[^ \"\n\r\t<]*?)?)(( target=)(_parent|_blank|_self))?\](.*?)\[/url\]#i";
	$replacements[] = $bbcode_tpl['url4'];
Ich hab den neuen Code, kommentiert, zwecks Vergleich eingefügt. Aber ich traue mich da nicht
heran und würde mich freuen, wenn ihr mir da weiterhelfen könntet.


Gruß Stöbi

Verfasst: Sa 07.Mai, 2005 23:40
von blondi
scheint zu funktionieren, bin mir aber nicht sicher, kannst du mal testen...

was mir noch aufgefallen ist... plötzlich steht in der anzeige heute user im forum 22 es waren aber über 200....

Verfasst: Sa 07.Mai, 2005 23:54
von modbo
@Stoebi: Sry, aber da weiss ich auch net weiter. Irgendwann wirst du da mal eine Veränderung vorgenommen haben.

@blondi: Was soll ich den testen :D In dein ACP komm ich ja net rein *g*

Das mit der Anzeige der User im Forum ist mir auch bei meinem Board aufgefallen ^2

Verfasst: So 08.Mai, 2005 00:23
von blondi
ja werden die dann immer wieder gelöscht die user?

Verfasst: So 08.Mai, 2005 00:33
von Stoebi
[quote="modbo - Sa 07.Mai, 2005 23:54";p="30947"]@Stoebi: Sry, aber da weiss ich auch net weiter. Irgendwann wirst du da mal eine Veränderung vorgenommen haben.[/quote]

Hi,

ja, das stimmt. Das Teil ist von CodeCrush, ich hab das mal einfach mit angehangen.
Damit kann ich dieses verwirklichen:
"[url=http://www.codecrush.com%20target=_parent]CodeCrush[/url]" ohne " "
Anstelle von _parent ist auch _blank bzw. _self möglich.

Es geht dabei um meiner Frage ja um die Sichereit genau bei diesen beiden Zeilen die die
phpbbgroup ja vorsieht, und da komme ich ohne eure Hilfe nicht weiter.


Gruß Stöbi

Verfasst: So 08.Mai, 2005 00:59
von blondi
müsst ihr auch immer das passwort eingeben wenn ihr ins acp wollt?

Verfasst: So 08.Mai, 2005 01:05
von Stoebi
[quote="blondi - So 08.Mai, 2005 00:59";p="30952"]müsst ihr auch immer das passwort eingeben wenn ihr ins acp wollt?[/quote]

Ja, das ist ab sofort mit diesem Update aus Sicherheitsgründen so gewollt. Ist von Olympus (phpbb 3) übernommen worden. Siehe auch Beitrag Nummer 5 von AmigaLink.


Gruß Stöbi

Verfasst: So 08.Mai, 2005 11:29
von knallzapzerap
Ich habe mit der /includes/sessions.php ein Problem. Es betrifft # Line 158
Ich denke der ShowBotsInOnlineList-Mod (1.1.0) hat dort bei mir den Code geändert.

Statt

Code: Alles auswählen

SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login
		WHERE session_id = '" . $session_id . "' 
			AND session_ip = '$user_ip'";
	if ( !$db->sql_query($sql) || !$db->sql_affectedrows() )
	{
		$session_id = md5(uniqid($user_ip));

		$sql = "INSERT INTO " . SESSIONS_TABLE . "
			(session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in)
			VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login)";
steht dort

Code: Alles auswählen

SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login, SearchBot = ". $_SERVER["HTTP_USER_AGENT"] ."
		WHERE session_id = '" . $session_id . "' 
			AND session_ip = '$user_ip'";
	if ( !$db->sql_query($sql) || !$db->sql_affectedrows() )
	{
		$session_id = md5(uniqid($user_ip));

		$sql = "INSERT INTO " . SESSIONS_TABLE . "
			(session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in, SearchBot)
			VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login, '". $_SERVER["HTTP_USER_AGENT"] ."')";
Ich würde nun gerne wissen, an welcher Stelle ich in den neuem Code die 3 Änderungen
, SearchBot = ". $_SERVER["HTTP_USER_AGENT"] ."
, SearchBot
, '". $_SERVER["HTTP_USER_AGENT"] ."'
einfügen muss.

Hier noch der Code, der ersetzt werden soll, laut Anleitung, ohne die Änderungen des ShowBotsInOnlineList -Mods

Code: Alles auswählen

SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login, session_admin = $admin
		WHERE session_id = '" . $session_id . "' 
			AND session_ip = '$user_ip'";
	if ( !$db->sql_query($sql) || !$db->sql_affectedrows() )
	{
		list($sec, $usec) = explode(' ', microtime());
		mt_srand((float) $sec + ((float) $usec * 100000));
		$session_id = md5(uniqid(mt_rand(), true));

		$sql = "INSERT INTO " . SESSIONS_TABLE . "
			(session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in, session_admin)
			VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login, $admin)";

Verfasst: So 08.Mai, 2005 11:37
von modbo
@knallzapzerap: Schau mal in die sessions.php, welche ich zuvor für blondi bereitgestellt habe. Dort sind die Parts ebenfalls enthalten.

Verfasst: So 08.Mai, 2005 11:58
von Bootenks
So ein Schrott... Lol ich habe da doch eh .htaccess beim ACP Eintritt laufen ... ~.~

Sachen gibt es ...

*motz* *moser*

Verfasst: So 08.Mai, 2005 12:01
von knallzapzerap
@modbo

Vielen Dank, damit müsste ich es hinkriegen ^b

Verfasst: So 08.Mai, 2005 12:45
von ToXic
[quote="blondi - Sa 07.Mai, 2005 22:58";p="30937"]bei mir kommt dieser fehler... hat jemand einen tipp

phpBB : Critical Error

Error creating new session

DEBUG MODE

SQL Error : 1054 Unknown column 'session_admin' in 'field list'

INSERT INTO phpbb_sessions (session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in, SearchBot, UserAgent, session_admin) VALUES ('f4deb12953423acc000e2f9305ac13f7', 2, 1115499467, 1115499467, '549444e7', 0, 1, 0, 'Mozilla/4.0 (compatible; MSIE 6.0;

Line : 224
File : sessions.php[/quote]

Hi,
den (jendenfalls so einen ähnlichen) hatte ich auch als ich vom Plus 1.52 mit 2.0.14 auf 2.0.15 updaten wollte. Ich habe mich an die Update Anleitung gehalten. Zuerst habe ich in allen Dateien besagte Änderungen durchgeführt, die Files hochgeladen und wollte mich als Admin einloggen um die updtae_to_latest.php auszuführen. Aber das ging ja nicht wegen dem obigen Fehler. Ich kam ja als Admin nicht mehr in das Board rein :-( Irgendwie scheint also etwas in der sessions.php nicht zu stimmen?

Also habe ich das ganze nochmal rückgängig gemacht und habe nun wieder ein funktionierendes Board 2.0.14. Vielleicht kann mir jemand weiterhelfen und sagen wie ich besser vorgehen muß?

Thx 4 Help

Verfasst: So 08.Mai, 2005 12:56
von modbo
Um die update_to_latest.php ausführen zu können, muss und kann man sich nicht in ACP einloggen.

Einfach alle files hochladen und dann direkt in der Eingabezeile des Browsers dir update_to_latest.php aufrufen: http://www.meinedomain.de/meinforenverz ... latest.php.
Anschließend das verzeichnis install wieder löschen.