Seite 1 von 1

durch splitting gehen postings verloren oder lüge???

Verfasst: 14.08.2003 18:59
von googler
Hi Community!

Also ich habe folgende Frage zu dem Splitting-Mechanismus in phpBB2:
Ich bin in einem phpBB2-Forum Mitglied und der Admin zernsierte da ein Thema mit folgender Aussrede:

"Es sollte und war keine Zensur. Es war eigentlich ein Split des Topics
nur leider war die ThreadID ungültig weil unser Server sich beim erstellen
des neuen Themas in den Security Modus geschalten hat und die IP
gewechselt hat. Daher wurden meine Änderungen in dem alten Thread
zwar übernommen aber der neue Thread nicht erstellt. Shit Happens.
Aber das sind Dinge die du nicht wissen kannst, konntest, weil du nie
gefragt hast sondern direkt im ersten Posting rumgetobt hast anstatt
einmal nachzufragen was nun Sache ist und warum das alles weg ist.
Eigentlich hätte im Allgemeinen Forum ein neuer Thread stehen müssen
der aber leider nicht eingetragen wurde. "

Ich halte das für totalen Müll! Der hat einfach gelogen würde ich sagen.
Was meint Ihr? Ich bin kein phpBB-Profi und frage deshalb Leute die es ja wissen müssten.

Also erstens kenne ich keinen Server (und dieser steht bei einem großen deutschen Hoster) der seine IP-Adresse aus irgendwelchen Gründen plötzlich ändert. Dann wäre er ja für Stunden unerreichbar (bis die DNS Einträge auf dem neusten Stand sind) [es handelt sich nicht um ne DynDNS Angelegenheit sondern einen normalen Server in einer Serverfarm). Also das der Server (Linux) sich mal eben in irgendeinen (mir nicht bekannten)security mode schaltet glaube ich nie im Leben.

Angeblich ist der Admin ein Profi in Netzwerkangelegenheiten, aber vielleicht meinte er nicht "Server" sondern seinen Client oder einen Router bei Ihm. Aber auch die wechseln nicht mal eben so die IP-Adresse. Es sei denn man hat so nen Proxyprogramm was das alle paar Minuten macht.

Aber selbst dann stimmt die Geschichte nicht. Denn warum sollte sich dann die ThreadID ändern oder verschwinden ???? Wenn man auf das Splittingsymbol drückt wird in der URL die TheardID übergeben. Was soll da schief gehen?? *frag* Also wahrscheinlich meinte er seine sessionID und nicht die ThreadID denn damit passiert rein garnix wenn ich die IP wechsel.

*LoL*

Aber auch das mit der sessionID stimmt nicht. Wenn ich das zuhause mache, dann bekomme ich "invalid session" zurück. (Also wenn ich während ich splitten möchte auflege und dann mit ner neuen IP den spit mache). Fakt ist das die session dann weg ist und ich ne Fehlermeldung bekomme. Aber dann passiert das splitting doch erst gar nicht! Denn die session wird ja nur aus Sicherheitsgründen überprüft.

Ich habe alles überlegt was mir in den Kopf gekommen ist, aber ich kann mir nicht erklären was der Admin da meint und was da passiert sein soll. :(

HILFE! :o

???

Verfasst: 14.08.2003 23:27
von U-THC
Das was dort zu der Thread ID steht ist völliger QUATSCH!

Verfasst: 15.08.2003 00:01
von ALTER USER
Hi Googler,

ich denke nicht, dass irgendwelche IP-Änderungen da einen Einfluss haben. Das Skript und die Datenbank regeln sowas von alleine.

Im entsprechenden Skript (modcp.php) sieht der für den Split relevante Abschnitt so aus (zumindest in der aktuellen Version 2.06 - welche Version die dort haben, hast Du nicht geschrieben)::

Code: Alles auswählen

(...)
				$new_forum_id = intval($HTTP_POST_VARS['new_forum_id']);
				$topic_time = time();

				$sql  = "INSERT INTO " . TOPICS_TABLE . " (topic_title, topic_poster, topic_time, forum_id, topic_status, topic_type)
					VALUES ('" . str_replace("\'", "''", $post_subject) . "', $first_poster, " . $topic_time . ", $new_forum_id, " . TOPIC_UNLOCKED . ", " . POST_NORMAL . ")";
				if (!($db->sql_query($sql, BEGIN_TRANSACTION)))
				{
					message_die(GENERAL_ERROR, 'Could not insert new topic', '', __LINE__, __FILE__, $sql);
				}

				$new_topic_id = $db->sql_nextid();

				// Update topic watch table, switch users whose posts
				// have moved, over to watching the new topic
				$sql = "UPDATE " . TOPICS_WATCH_TABLE . "
					SET topic_id = $new_topic_id
					WHERE topic_id = $topic_id
						AND user_id IN ($user_id_sql)";
				if (!$db->sql_query($sql))
				{
					message_die(GENERAL_ERROR, 'Could not update topics watch table', '', __LINE__, __FILE__, $sql);
				}

				$sql_where = (!empty($HTTP_POST_VARS['split_type_beyond'])) ? " post_time >= $post_time AND topic_id = $topic_id" : "post_id IN ($post_id_sql)";

				$sql = 	"UPDATE " . POSTS_TABLE . "
					SET topic_id = $new_topic_id, forum_id = $new_forum_id
					WHERE $sql_where";
				if (!$db->sql_query($sql, END_TRANSACTION))
				{
					message_die(GENERAL_ERROR, 'Could not update posts table', '', __LINE__, __FILE__, $sql);
				}
(...)
Im Skript sieht man deutlich
a) die Reihenfolge: erst den neuen Thread anlagen, später die Postings dem Thread zuordnen
b) den Abbruch bei einem Fehler und
c) die Transaktion in der Datenbank.

AFAIK hat die IP-Adresse nichts mit der Thread-ID zu tun, dass diese durch einen Wechsel der ersteren "ungültig" werden könnte.

Fazit: entweder absoluter Blödsinn, oder der Admin gehört geschlagen, weil er das Skript so "verbessert" hat, dass keine Abbrüche mehr auftreten...

Bei den übrigen Gedanken, die sich jetzt wahrscheinlich ergeben, kann ich Dir allerdings nicht helfen.

HTH,
ALTER USER

oho

Verfasst: 17.08.2003 15:49
von TechMech
Also eigentlich hatte ich selber ne Frage, aber was man hier so alles findet.
Hat mal jemand die URI der Seite????????????

Dreiste Lüge!

Verfasst: 17.08.2003 15:51
von Henne
Welche Seite meinst du denn?

Verfasst: 17.08.2003 16:11
von gooooo
er meint wohl die seite wo das drin steht - wüsste ich auch gerne - würde dann da was dazu posten.

Verfasst: 18.08.2003 14:06
von anonymus
das steht im Board www.geisteszerfall.de ( es hat nebenbei die Boardversion 2.0.6 ;) ). du musst dich aber anmelden um das lesen zu können, und findest es dann unter "der blaue Brief" --> "Zensur im Board" :D

Verfasst: 18.08.2003 14:08
von codemonkey
Also durch das splitten von Themen gehen definitiv keine Beiträge verlohren.
Probiert es doch selber aus auf einem Testboard ;)