Visuelle Bestätigung: Ständig beschwerdemails :(

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
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.
ReneDD
Mitglied
Beiträge: 82
Registriert: 22.07.2004 21:36

Beitrag von ReneDD »

Ich hab ne Lösung gefunden. Das Problem liegt daran das die SID ausgeblendet werden.

Ihr könnt die aber ganz einfach umgehen indem Ihr bei der Registrationsseite die SID wieder einblendet. Das Problem ist wenn der Browser keine Cookies akzeptiert wird normal eine SID angehangen. Wenn beides nicht geht kann der Code nicht generiert werden. Ändert einfach die SID Ausblendung in folgendes.

Code: Alles auswählen

if ( $userdata['session_user_id'] != ANONYMOUS || $userdata['session_page'] == -4 ){
   $SID = 'sid=' . $session_id;
} else {
   $SID = '';

}
Das $userdata['session_page'] == -4 gibt an das auf der Registrations Page die SID eingeblendet wird. Bei mir geht es so einwandfrei. Der IE mit ausgeschaltenen Cookies und der Firefox bringt einen Code. Ihr fragt euch warum -4?

Hier ein Auszug aus der "includes/constants.php"

Code: Alles auswählen

define('PAGE_PROFILE', -4);
Bei der Registration ist man auf der Profil Seite.


mfG
Rene
Benutzeravatar
TK
Mitglied
Beiträge: 70
Registriert: 28.11.2004 14:08
Wohnort: Bremen
Kontaktdaten:

Beitrag von TK »

ReneDD hat geschrieben:Das $userdata['session_page'] == -4 gibt an das auf der Registrations Page die SID eingeblendet wird. Bei mir geht es so einwandfrei. Der IE mit ausgeschaltenen Cookies und der Firefox bringt einen Code. Ihr fragt euch warum -4?

Hier ein Auszug aus der "includes/constants.php"

Code: Alles auswählen

define('PAGE_PROFILE', -4);
Bei der Registration ist man auf der Profil Seite.
Ich habe es ein wenig spezifischer gelöst:

Code: Alles auswählen

	if ( $userdata['session_user_id'] != ANONYMOUS || isset($HTTP_GET_VARS['agreed']) ){ 
		$SID = 'sid=' . $session_id; 
	} else { 
		$SID = ''; 
	}
Hierbei wird die SID bei "cookiephoben" Gästen (wie SuMas) erst dann angehängt, wenn man wirklich auf der Registrierungsseite gelandet ist (nach dem Bestätigen der Nutzungsbedingungen). Bei deiner Abfrage nach der session_page wird die SID bereits schon angehängt, wenn man auch ne andere profile.php aufruft, z.B. schon beim Betrachten eines Userprofils...

Ich habe bei Tests auch bemerkt, dass die SID sogar dann noch behalten wird, wenn man (bzw. Google) dann auf weitergehende Links geht, auch wenn sie von profile.php wieder wegführen... So besteht theoretisch immer noch die Gefahr von ungewollten Spidertraps...
Zuletzt geändert von TK am 29.04.2005 09:29, insgesamt 1-mal geändert.
Meine Signatur war zu groß und wurde deshalb gelöscht - Siehe phpBB.de-Knigge
Benutzeravatar
TK
Mitglied
Beiträge: 70
Registriert: 28.11.2004 14:08
Wohnort: Bremen
Kontaktdaten:

Beitrag von TK »

P.S.: Zusätzlich habe ich die agreement.tpl soweit abgeändert, dass kein Textlink mehr zur Registrierungseingabe führt sondern nur noch ein Button-Link, der m.W. von SuMas ignoriert werden müsste, so dass sich dorthin Google & Co. nicht mehr verirren sollten und keine Gefahr mehr besteht, dass SIDs entstehen...

(Beispiel an SubSilver:)

Code: Alles auswählen

<!-- COPPA removed. See below. Sascha Carlin, phpBB.de -->

<table width="100%" cellspacing="2" cellpadding="2" border="0" align="center">
	<tr>
		<td align="left"><span class="nav"><a class="nav" href="{U_INDEX}">{L_INDEX}</a></span></td>
	</tr>
</table>

<table class="forumline" width="100%" cellspacing="1" cellpadding="3" border="0">
	<tr>
		<th class="thHead" height="25" valign="middle">{SITENAME} - {REGISTRATION}</th>
	</tr>
	<tr>
		<td class="row1" align="center"><table width="80%" cellspacing="2" cellpadding="2" border="0" align="center">
			<tr>
				<td><span class="genmed"><br />{AGREEMENT}<br /><br /><br /><div align="center"><form method="post" action="{U_AGREE_OVER13}"><input type="submit" class="mainoption" style="width:700px; border:2px solid" value="{AGREE_OVER_13}"></form><br /><form method="post" action="{U_INDEX}"><input type="submit" class="mainoption" style="width:700px; border:2px solid" value="{DO_NOT_AGREE}"></form></div><br /></span></td>
			</tr>
		</table></td>
	</tr>
</table>
siehe: http://www.seelenkummer.de/profile.php?mode=register
Meine Signatur war zu groß und wurde deshalb gelöscht - Siehe phpBB.de-Knigge
Benutzeravatar
Wuppi
Mitglied
Beiträge: 732
Registriert: 14.05.2002 23:04
Wohnort: Köln
Kontaktdaten:

Beitrag von Wuppi »

Hi

@TK:

ich stehe selber auf SuMa-Freundlichkeit - das heißt: keine Session-IDs an der URL für SuMas ...

Das mit den Button ist dann natürlich auch ne gute Idee - allerdings geh ich bei mir davon aus, wennse draufklicken, das sie sich auch anmelden wollen -> Es kommt keine zwischenseite - aber das Agreed=true wird per Link direkt übergeben - von daher kein Problem - muß ich nur dafür sorgen das SuMas diesen weg nicht einschlagen => robots.txt; profile.php ist da eh schon verboten; ggf. setz ich in den Link noch nen rel="nofollow" - dan sollten SuMas (die dieses "Feature" ja gemeinsam eingeführt haben), die Seite in ruhe lassen und keine SIDs bekommen.

Wo setzt ich das snippet von dir den rein? profile.php - klar - aber wo da?

Gruß
Wuppi
Benutzeravatar
TK
Mitglied
Beiträge: 70
Registriert: 28.11.2004 14:08
Wohnort: Bremen
Kontaktdaten:

Beitrag von TK »

Wuppi hat geschrieben:von daher kein Problem - muß ich nur dafür sorgen das SuMas diesen weg nicht einschlagen => robots.txt; profile.php ist da eh schon verboten; ggf. setz ich in den Link noch nen rel="nofollow" - dan sollten SuMas (die dieses "Feature" ja gemeinsam eingeführt haben), die Seite in ruhe lassen und keine SIDs bekommen.
Mir ist aufgefallen, dass die per robots.txt "verbotenen" Seiten zwar nicht gecached werden (der Inhalt also nicht aufgenommen wird), aber dennoch besucht werden und erfasst werden (siehe z.b. http://www.google.de/search?q=site%3Aseelenkummer%2Ede - z.B. jede Menge "leere" profile.php's, die ich eigentlich via robots.txt ebenfalls ausgeschlossen habe)
Ich wäre mir da also nicht 100%ig sicher, dass vielleicht weitergehende Links nicht doch auch von solchen Seiten verfolgt werden (auch wenn der Inhalt nicht erfasst wird).
Daher habe ich mich zusätzlich "zur Sicherheit" noch für diese Button-Links entschieden...
Wuppi hat geschrieben:Wo setzt ich das snippet von dir den rein? profile.php - klar - aber wo da?
Nein, das wird in der sessions.php eingesetzt, und zwar da, wo sonst die "normale" Änderung ist, wenn man die SID ausblenden will, mit dem Unterschied halt, dass bei der Bedingung nicht nur abgefragt wird, ob der Besucher eingeloggt ist, sondern auch, ob in der URL "agreed" gesetzt ist ( = ist nur bei der Registrierungs-Seite der Fall)

Wenn du das Ausblenden der SID bei Gästen bereits eingebaut hast, suche also in der sessions.php nach

Code: Alles auswählen

if ( $userdata['session_user_id'] != ANONYMOUS ){
und ersetze es mit

Code: Alles auswählen

if ( $userdata['session_user_id'] != ANONYMOUS || isset($HTTP_GET_VARS['agreed']) ){
Falls du das Ausblenden der SID bei Gästen noch nicht eingebaut haben solltest, muss natürlich der ganze 5-zeilige Snippet wie oben von mir beschrieben rein (und die Zeile

Code: Alles auswählen

$SID = 'sid=' . $session_id;
ersetzen)
Meine Signatur war zu groß und wurde deshalb gelöscht - Siehe phpBB.de-Knigge
Benutzeravatar
Wuppi
Mitglied
Beiträge: 732
Registriert: 14.05.2002 23:04
Wohnort: Köln
Kontaktdaten:

Beitrag von Wuppi »

Hi

das einbinden schau ich mir später an - keine Zeit.

Aber kurz zu deiner robots.txt ... die interessiert google garnicht - viel zu allgemein.

Schau dir mal meine an:
www.numismatikforum.de/robots.txt - da gibbet nen extra Google-Abschnitt - google kann als einzigster Bot ?* in der robots.txt auswerten ... da profile.php etwas ganz anderes ist als profile.php?* wird die bei dir natürlich gespidert.

Ich versuch jetzt bei mir einigen Müll zu entfernen - hab div. links mit rel="nofollow" ergänzt (dieser neue Link-zusatz - vorallem für Blogs haben die SuMas das ins Programm genommen) - ein Link der so gemarkert ist, wird nicht mehr verfolgt. und meine robots.txt etwas erweitert.

Gruß
Wuppi
Benutzeravatar
TK
Mitglied
Beiträge: 70
Registriert: 28.11.2004 14:08
Wohnort: Bremen
Kontaktdaten:

Beitrag von TK »

Moinmoin ;)
Wuppi hat geschrieben:Aber kurz zu deiner robots.txt ... die interessiert google garnicht - viel zu allgemein.
Das stimmt nicht. Meine Angaben in meiner robots.txt sind - für meinen Fall - völlig ausreichend, auch für Google.
Wuppi hat geschrieben:Schau dir mal meine an:
www.numismatikforum.de/robots.txt - da gibbet nen extra Google-Abschnitt - google kann als einzigster Bot ?* in der robots.txt auswerten ...
Das stimmt zwar; eine Unterscheidung interessiert aber in diesem Fall nicht, denn...
Wuppi hat geschrieben:da profile.php etwas ganz anderes ist als profile.php?* wird die bei dir natürlich gespidert.
...denn diese Aussage ist so nicht richtig. "Disallow: profile.php" (ohne ?*) versteht auch Google und gilt auch automatisch für dynamische Seiten mit angehängten Werten; ich brauch nicht extra noch profile.php?* exkludieren, das ist unnötig, da eigtl. sogar doppelt gemoppelt...

Deine robots.txt ist demnach zum Beispiel an einigen Stellen nicht optimal erstellt, da bei dir z.B.

Code: Alles auswählen

Disallow: /privmsg.php
Disallow: /profile.php
und

Code: Alles auswählen

Disallow: /privmsg.php?*
Disallow: /profile.php?*
vorkommt, wobei letzteres gar nicht nötig wäre, da es bereits durch die erste Angabe "abgedeckt" wird...

Die Angabe ?* brauch ich nur, wenn ich ausschließlich dynamische Inhalte aussperren will (nicht aber die statischen), ohne ?* sperre ich alle Inhalte unter der angebenen URL, und zwar eben auch die dynamischen.

Ich glaube, du verwechselt den Unterschied zwischen inhaltlich erfassten (und im Suchindex aufgenommenen) Seiten und bloß erfassten URLs. Bei Google kann man via einer robots.txt nur das Indizieren von Seiteninhalten verbieten, nicht aber das Erfassen der URLs. Bei site:... allerdings werden allerdings auch die erfassten (aber nicht indizierten) Seiten angezeigt...

Sieh dir z.B. deine eigene Seite an: http://www.google.de/search?q=site%3Anumismatikforum.de - da wirst du auch jede Menge URLs finden, die du eigentl. via robots.txt ausgesperrt hast. Sie werden angezeigt, auch wenn der Inhalt nicht erfasst wurde, und das lässt sich m.W. auch nicht mit einer robots.txt verhindern...
Wuppi hat geschrieben:Ich versuch jetzt bei mir einigen Müll zu entfernen - hab div. links mit rel="nofollow" ergänzt (dieser neue Link-zusatz - vorallem für Blogs haben die SuMas das ins Programm genommen) - ein Link der so gemarkert ist, wird nicht mehr verfolgt. und meine robots.txt etwas erweitert.
Das ist noch relativ neu und ich stehe dieser Einführung noch etwas kritisch gegenüber.

Siehe: http://www.itst.org/nonofollow/ und http://www.perun.net/2005/01/25/meinungen-zu-nofollow/
Meine Signatur war zu groß und wurde deshalb gelöscht - Siehe phpBB.de-Knigge
Benutzeravatar
Wuppi
Mitglied
Beiträge: 732
Registriert: 14.05.2002 23:04
Wohnort: Köln
Kontaktdaten:

Beitrag von Wuppi »

TK hat geschrieben:
Wuppi hat geschrieben:da profile.php etwas ganz anderes ist als profile.php?* wird die bei dir natürlich gespidert.
...denn diese Aussage ist so nicht richtig. "Disallow: profile.php" (ohne ?*) versteht auch Google und gilt auch automatisch für dynamische Seiten mit angehängten Werten; ich brauch nicht extra noch profile.php?* exkludieren, das ist unnötig, da eigtl. sogar doppelt gemoppelt...
Das aber das Problem - ich stelle das schon seit Monaten fest: Google interessiert sich in der robots.txt ausschließlich für "User-agent: Googlebot-Image" und für "Disallow: /verzeichnis/" (wobei ich mir bei "verzeichnis" aber nicht 100%ig sicher bin; wenig Testmöglichkeiten) ... jede Datei die unter "User-agent:*" steht wird trotzdem gespidert. Daher hab ich aktuell auch noch massig müll im index. :(

Daher nicht doppelt gemoppelt: Dateien die unter "User-agent:*" stehen werden gespidert ...sachen die unter "User-agent: Googlebot" stehen, werden von google aber nicht weiter behandelt: cal-lite.php z.b. http://www.google.de/search?hl=de&q=sit ... %3Dlang_de nicht drin. Nur "User-agent: Googlebot" verstehen die anderen Bots nicht => daher bekommen diese mit "User-agent:*" ihre "verbotenen" Dateien ... (wobei ich aber nicht weiter beobachtet habe wie die sich dran halten)

Den Googlebot-Part hab ich erst vor 2-3 Tagen so erweitert. ptopic, ntopic, ftopic-asc, cal-lite waren vorher schon drin und die sind, soweit ich das überblicke, nicht im index vertreten. Die vorhandenen werde ich so sicherlich nicht rausbekommen - aber so kann ich versuchen das nicht noch mehr dazu kommt. Da es aber doch heißt das dateien mit disallow nicht gespidert werden sollen, müsste es über längere Zeit so möglich sein, Dateien zu entfernen - das teste ich aber erst seit 2-3 Tagen.

Da fällt mir jetzt aber nen Fehler auf meiner Testseite ein :( da verbiete ich via robots.txt - aber auch gleichzeitig noch per meta=noindex (für ne neue Unterseite) ... sollte sowas nicht um 1uhr morgens machen :( ... auch mein nofollow-Test kann ich in die Tonne kloppen - muß da nochmal umdisponieren ... aber das ne andere Geschichte ;)

Mit nofollow seh ich das doch so, das nicht gefolgt werden soll - wenn nciht gefolgt wird, wird nicht gespidert? ... effektiver sollte aber meta=noindex sein. Nur weiß ich noch net wie ich das nur bei bestimmten Seiten anzeigen lassen kann (also z.b. die postings.php usw.) [die kompletten metas werden ja in der overall_header.tpl gesetzt]

Gruß
Wuppi
IPB_Flüchtling
Mitglied
Beiträge: 1862
Registriert: 23.12.2004 22:46

Beitrag von IPB_Flüchtling »

Hallo,

ich möchte es auf die "harte Tour" versuchen:

Code: Alles auswählen

if ( $userdata['session_user_id'] != ANONYMOUS ){ 
   $SID = 'sid=' . $session_id;
} else {
   $SID = '';
}

Wer keine Cookies zulässt, sieht den Bestätigungscode definitiv nicht (kann aber natürlich händisch, nach E-Mail-Kontakt, freigeschalten werden).

Das Problem ist: Auch wenn Cookies zugelassen werden, weigert sich mein Internet Explorer 6.0 sehr oft, den Code anzuzeigen!
Mozilla Firefox 1.0.3 macht dagegen überhaupt keine Probleme und zeigt den Code immer an.

Hat jemand eine Idee, woran das liegen könnte? Ist nämlich ärgerlich, zumal die meisten Leute nach wie vor mit dem IE surfen.

LG, IPB_Flüchtling
guppy
Mitglied
Beiträge: 8
Registriert: 14.10.2005 16:22

Beitrag von guppy »

Wuppi hat geschrieben:
Ich versuch jetzt bei mir einigen Müll zu entfernen - hab div. links mit rel="nofollow" ergänzt (dieser neue Link-zusatz - vorallem für Blogs haben die SuMas das ins Programm genommen) - ein Link der so gemarkert ist, wird nicht mehr verfolgt. und meine robots.txt etwas erweitert.

Gruß
Wuppi
Für google gilt:
Das nofollow hat keinen Einfluss darauf, ob eine Seite gespidert wird oder nicht. Die Seite wird genauso gespidert und in den Index aufgenommen, lediglich der "Empfehlungscharakter" wird unterbunden und die PR Vererbung findet nicht statt. Mit nofollow auf der eigenen Domain wertest du deine eigenen Seiten ab.

MSN folgt den nofollow links nicht und der slurp ist ein alien :wink:
Das hatte ich mal umfangreich getestet.
Die Essenz der Ergebnisse :


http://www.abakus-internet-marketing.de ... tml#137295
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“