Wichtiges Update - 2.0.15

Sicherheit des Webservers, der Server und rund um phpBB
Benutzeravatar
blondi
Beiträge: 1091
Registriert: Do 30.Sep, 2004 14:36

Wichtiges Update - 2.0.15

Beitrag von blondi »

Benutzeravatar
skittles
Beiträge: 820
Registriert: So 04.Apr, 2004 01:07
Wohnort: Wien

Beitrag von skittles »

nicht schon wieder ^1
[center]Populanten von transparenten Domizilen sollten
mit fester Materie keine transzendenten Bewegungen durchf?hren.
[/center]


Bild
Benutzeravatar
tom10
Beiträge: 1106
Registriert: Sa 29.Jan, 2005 14:58
Kontaktdaten:

Beitrag von tom10 »

Und jetzt noch schnell eine Anleitung für das phpbb plus und alles wäre gut. ^7
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag 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 :)
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag 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.
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag 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.
Zuletzt geändert von modbo am Mo 09.Mai, 2005 10:11, insgesamt 2-mal geändert.
Benutzeravatar
blondi
Beiträge: 1091
Registriert: Do 30.Sep, 2004 14:36

Beitrag 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
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag 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.
Benutzeravatar
blondi
Beiträge: 1091
Registriert: Do 30.Sep, 2004 14:36

Beitrag 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...
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag von modbo »

Fehler liegt wahrscheinlich in der sessions.php. Kannst du ja mal anhängen.
Benutzeravatar
blondi
Beiträge: 1091
Registriert: Do 30.Sep, 2004 14:36

Beitrag von blondi »

meine files...
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag von modbo »

In Zeile 154 fehlte ein Komma. Ich hoffe das wars. Ansonsten konnte ich keinen Unterschied entdecken.
Stoebi
Beiträge: 447
Registriert: Do 24.Feb, 2005 16:35
Wohnort: Berlin
Kontaktdaten:

Beitrag 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
Zuletzt geändert von Stoebi am Sa 07.Mai, 2005 23:35, insgesamt 1-mal geändert.
Benutzeravatar
blondi
Beiträge: 1091
Registriert: Do 30.Sep, 2004 14:36

Beitrag 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....
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag 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
Benutzeravatar
blondi
Beiträge: 1091
Registriert: Do 30.Sep, 2004 14:36

Beitrag von blondi »

ja werden die dann immer wieder gelöscht die user?
Stoebi
Beiträge: 447
Registriert: Do 24.Feb, 2005 16:35
Wohnort: Berlin
Kontaktdaten:

Beitrag 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
Zuletzt geändert von Stoebi am So 08.Mai, 2005 00:57, insgesamt 1-mal geändert.
Benutzeravatar
blondi
Beiträge: 1091
Registriert: Do 30.Sep, 2004 14:36

Beitrag von blondi »

müsst ihr auch immer das passwort eingeben wenn ihr ins acp wollt?
Stoebi
Beiträge: 447
Registriert: Do 24.Feb, 2005 16:35
Wohnort: Berlin
Kontaktdaten:

Beitrag 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
Zuletzt geändert von Stoebi am So 08.Mai, 2005 01:19, insgesamt 3-mal geändert.
knallzapzerap
Beiträge: 7
Registriert: Sa 09.Apr, 2005 12:13
Wohnort: Hamburg

Beitrag 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)";
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag von modbo »

@knallzapzerap: Schau mal in die sessions.php, welche ich zuvor für blondi bereitgestellt habe. Dort sind die Parts ebenfalls enthalten.
Benutzeravatar
Bootenks
Beiträge: 1836
Registriert: Sa 29.Mai, 2004 23:36
Wohnort: G?rlitz (?stlichste Stadt Deutschlands)

Beitrag von Bootenks »

So ein Schrott... Lol ich habe da doch eh .htaccess beim ACP Eintritt laufen ... ~.~

Sachen gibt es ...

*motz* *moser*
knallzapzerap
Beiträge: 7
Registriert: Sa 09.Apr, 2005 12:13
Wohnort: Hamburg

Beitrag von knallzapzerap »

@modbo

Vielen Dank, damit müsste ich es hinkriegen ^b
ToXic
Beiträge: 103
Registriert: Fr 04.Mär, 2005 10:37

Beitrag 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
Zuletzt geändert von ToXic am So 08.Mai, 2005 12:46, insgesamt 1-mal geändert.
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag 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.
Zuletzt geändert von modbo am So 08.Mai, 2005 12:57, insgesamt 1-mal geändert.
Antworten