[3.2] Bots bekommen einen 403-Fehler
Verfasst: 05.07.2019 10:27
Hallo zusammen,
ich hab den alten Beitrag mal gelöscht - es wurde etwas wirr.
Fehler: Google und Bing bekommen einen 403er obwohl die Berechtigungen stimmen
Softwarestände: phpBB3.2.7 + Apache 2.4.x + PHP 7.2.19 + MySQL(i) 10.1.40-MariaDB
Was hab ich gemacht:
* Update UND Umzug von phpBB3.0.7pl auf 3.2.7. Beim Umzug wechsel von PHP5.3 auf 7.2. Unter 3.0 hatten Bots keine Probleme.
* Auf dem Zielserver (erstmal Testdomain dort) befanden sich nur die config, files (und was in den Anleitungen noch stand)
* 3.2.7 hochgeladen
* Dann hab ich das STK für 3.2.5 (ich weiß das es eines für 3.0 gibt - ich habe definitiv das für 3.2.5 genutzt!)
** DB Cleanup (hatte mit 3.0 div. Addons). Hier hab ich explizit nur das gelöscht was 100% Addons zuzuordnen war!
*** Hier konnte ich auch die Bot-Table anpassen ... und hier glaube ich ist der Grund für mein Problem...
* Extensions hochgeladen, aktiviert, getestet
* DEFAULT-Theme ProSilver|NF gesetzt (ein minimal geänderter prosilver-Clone).
* Ich hab jetzt Cookiename etc. neu gesetzt und alles auf https angepasst. Am Ende hab ich die ZIELDomain überall gesetzt - dann haben wir den Space umbenannt und waren live.
=> Es gab keine Probleme. User kommen überall rein, schreiben, lesen klappt. Gäste dürfen auch alles wie bei 3.0
==> eigentlich FERTIG.
Detailbeschreibung:
Aber ich merkte dann das Google nicht da ist. Also mal httpstatus.io mit Googlebot/Bing getestet => 500-Server-Fehler. Den Fehler konnte ich korrigieren in dem ich "Board-Style überschreiben: JA" gesetzt habe. Macht eigentlich keinen Sinn - weil ProSilver|NF ist das EINZIGE Aktive Theme und auch überall gesetzt. EGAL. Solang ich kein extra Theme basteln muss (wobei heute die erste potentielle Anfrage kam ... ich hab einige Leute mit Farbschwächen etc. im Forum....... muss ich aber noch eruieren wo er ein Problem hat - Farbe oder einfach nur "Gewohnheit"). Nochmal: Workaround -> LÄUFT
Der 500er ist WEG. Dafür haben Google und Bing jetzt einen 403er. Auffallend war das Yandex (die große russische Suchmaschine) überhaupt nicht in der Spiders/Bot-Liste steht. Wenn ich mit deren UserAgent teste: 200er. Damit dieser auch als Bot erkannt wird, hab ich den jetzt in die Liste eingetragen. Es bleibt bei einem 200er! Jetzt ist mein Verständnis das über die Spiders/Bot-Liste definiert ist, wer Mitglied in der Gruppe BOTS ist und somit deren RECHTE hat. Wir stellen jetzt fest: Google, Bing, Yandex sind in der Bot-Liste - aber scheinbar haben alle unterschiedliche Rechte! Wie geht das?
Dann hab ich mal Bing und Google aus der Botliste im ACP gelöscht.
Ergebnis: Beide haben weiterhin einen 403er (für Unterforen; die Hauptseite ist 200 - und sehen dort keine Foren...)
Jetzt füge ich Google ein: Useragent lautet Googlebot/ ... was aber "falsch" ist. Bzw. nicht dem Orginal entsprach. Ergebnis: Google bekommt jetzt einen 200er! Ok ... ich setze den Googlebot auf die orginalschreibweise (OHNE /). Ergebnis: 403 ... Hä?! Ok - Merke: Googlebot/ und wir bekommen ein 200er. Jetzt hab ich Bing hinzugefügt. Orginal ist hier aber schon bingbot/ <... so hab ich den eingefügt ... von Googlebot weiß ich ja: mit / klappt es. Nö ... Bingbot 403! Ich lösche / => 403...............
===>>> es gibt hier also irgendein Problem mit der Erkennung von Bots und der Schreibweise in der Spiders/Bot-Liste. Die UserAgents sind ja eigentlich noch länger - das heißt das Forenscript prüft den eingeben UA mit dem vom Bot - ist der String enthalten -> Bot. Wo ist jetzt bei so einer Erkennung der Unterschied zwischen Googlebot/ und Googlebot wenn der UA vollständig: "...compatible; Googlebot/2.1 (....)" heißt. Es sollte BEIDES matchen. Und warum klappt es bei Bingbot nicht....
Was mich ebenfalls irritiert:
Wenn ein BOT nicht mit der BOTListe matched ist er doch ein GAST? Als Gast steht das ganze Forum offen ... Warum bekommen Google/Bing dann einen 403er. Kann doch eigentlich nicht sein? Oder erkennt das Forum an der Art und weiße wie ein Bot das Forum durchkämpt: Bot und "wehrt" sich dagegen mit 403er? Aber kann ja nicht sein - sobald Google sich dann umbenennt - Pech gehabt fürs crawlen .. kann ja nicht sein.
=> was für ein Problem hab ich hier und wie bekomme ich das gelöst?
Danke
Wuppi
PS: aktuell bekommt Googlebot/ ein 200er - wer das jetzt mit httpstatus testen möchte, nimmt bitte den Bingbot
Automatisch dem Beitrag hinzugefügt nach 42 Minuten 20 Sekunden. Bitte Regel für „Topic-Bumping“ beachten. Danke.
Hallo zusammen,
ich hab mir jetzt mal ausführlich die Tabelle angeschaut. WARNUNG: STK für 3.2.5 ist bei der BOT-Aktion definitiv fehlerhaft! Wer STK und dort die BOT-Aktualisierung genutzt hat, sollte auf jedenfall mal prüfen ob Google etc. noch schauen dürfen!
Mir ist folgendes aufgefallen.
Wir haben 3 relevante Tabellen wenn wir von Bots reden:
* bots (enthält 92 Bots, von 48! Vieles Doppelt)
* groups
* users (enthält nur die 48)
Beispiel: Googlebot/ <- den hab ich via ACP manuell hinzugefügt; und der LÄUFT (200er)
bots -> user_id: 26089, bot_id: 146
users -> user_id: 26089 (bei Permission stehen ganz viele Sachen drin ... steht sonst bei keinem bot ... was heißt das?! Yandex hatte ich auch manuell hinzugefügt - da steht nichts....)
Beispiel: Googlebot <- den hab ich EIGENTLICH im ACP gelöscht
bots -> user_id: 26009, bot_id: 66
users -> user_id: gibt es nicht
=> der User 26009 exitiert nicht in der users und bekommt somit ein 403er (wobei hier noch die frage offen ist: ist er dann nicht eigentlich ein GAST?)
In der Bots hab ich jetzt 2x Google stehen ... 26089 und 26009. Wenn auf 26009 matched und es kein User gibt -> Pech.
Der Bingbot steht jetzt 2x als bingbot/ in der bots. ID 26000 (bot 57) und ID 26088 (bot 145). Kommt jetzt ein bingbot/ matched er mit dem ältesten Eintrag - Bot 57 und user_id 26000 ... die gibt es in der users natürlich nicht => Pech.
====>>> Damit dürfte das Problem und die Ursache soweit analysiert sein. Jetzt müssen diese beiden Tabellen aufgeräumt werden.
Ich habe da diesen Beitrag viewtopic.php?p=1386227#p1386227 gefunden. Wenn ich das Script richtig verstehe, leert es die "bots", und löscht Anhand der bot_id die Bots in der "users". Danach werden die Bots aus dem Script eingefügt - sowohl in bots als auch user_id - damit hätten alle Bots in "bots" und "user" die gleiche user_id und das Problem wäre behoben. Interpretiere ich das Script richtig? Kennt das wer? Kann es erst die nächsten Tage testen ...
Würde aber per "Workaround" in der "bots" den ungültigen Bingbot löschen. Danach hätte ich dort nur noch die 26088 die auch mit der "users" matched. Klingt harmlos? Damit hätte ich zumindest ERSTMAL Google, Bing und Yandex am laufen - und damit einen Großteil der Weltbevölkerung abgedeckt
... später dann aber das script nutzen und für alle Bots aufräumen und auch neue hinzufügen...
Danke
PS: ich hoffe ich habe es jetzt etwas deutlicher beschrieben
ich hab den alten Beitrag mal gelöscht - es wurde etwas wirr.
Fehler: Google und Bing bekommen einen 403er obwohl die Berechtigungen stimmen
Softwarestände: phpBB3.2.7 + Apache 2.4.x + PHP 7.2.19 + MySQL(i) 10.1.40-MariaDB
Was hab ich gemacht:
* Update UND Umzug von phpBB3.0.7pl auf 3.2.7. Beim Umzug wechsel von PHP5.3 auf 7.2. Unter 3.0 hatten Bots keine Probleme.
* Auf dem Zielserver (erstmal Testdomain dort) befanden sich nur die config, files (und was in den Anleitungen noch stand)
* 3.2.7 hochgeladen
* Dann hab ich das STK für 3.2.5 (ich weiß das es eines für 3.0 gibt - ich habe definitiv das für 3.2.5 genutzt!)
** DB Cleanup (hatte mit 3.0 div. Addons). Hier hab ich explizit nur das gelöscht was 100% Addons zuzuordnen war!
*** Hier konnte ich auch die Bot-Table anpassen ... und hier glaube ich ist der Grund für mein Problem...
* Extensions hochgeladen, aktiviert, getestet
* DEFAULT-Theme ProSilver|NF gesetzt (ein minimal geänderter prosilver-Clone).
* Ich hab jetzt Cookiename etc. neu gesetzt und alles auf https angepasst. Am Ende hab ich die ZIELDomain überall gesetzt - dann haben wir den Space umbenannt und waren live.
=> Es gab keine Probleme. User kommen überall rein, schreiben, lesen klappt. Gäste dürfen auch alles wie bei 3.0
==> eigentlich FERTIG.
Detailbeschreibung:
Aber ich merkte dann das Google nicht da ist. Also mal httpstatus.io mit Googlebot/Bing getestet => 500-Server-Fehler. Den Fehler konnte ich korrigieren in dem ich "Board-Style überschreiben: JA" gesetzt habe. Macht eigentlich keinen Sinn - weil ProSilver|NF ist das EINZIGE Aktive Theme und auch überall gesetzt. EGAL. Solang ich kein extra Theme basteln muss (wobei heute die erste potentielle Anfrage kam ... ich hab einige Leute mit Farbschwächen etc. im Forum....... muss ich aber noch eruieren wo er ein Problem hat - Farbe oder einfach nur "Gewohnheit"). Nochmal: Workaround -> LÄUFT
Der 500er ist WEG. Dafür haben Google und Bing jetzt einen 403er. Auffallend war das Yandex (die große russische Suchmaschine) überhaupt nicht in der Spiders/Bot-Liste steht. Wenn ich mit deren UserAgent teste: 200er. Damit dieser auch als Bot erkannt wird, hab ich den jetzt in die Liste eingetragen. Es bleibt bei einem 200er! Jetzt ist mein Verständnis das über die Spiders/Bot-Liste definiert ist, wer Mitglied in der Gruppe BOTS ist und somit deren RECHTE hat. Wir stellen jetzt fest: Google, Bing, Yandex sind in der Bot-Liste - aber scheinbar haben alle unterschiedliche Rechte! Wie geht das?
Dann hab ich mal Bing und Google aus der Botliste im ACP gelöscht.
Ergebnis: Beide haben weiterhin einen 403er (für Unterforen; die Hauptseite ist 200 - und sehen dort keine Foren...)
Jetzt füge ich Google ein: Useragent lautet Googlebot/ ... was aber "falsch" ist. Bzw. nicht dem Orginal entsprach. Ergebnis: Google bekommt jetzt einen 200er! Ok ... ich setze den Googlebot auf die orginalschreibweise (OHNE /). Ergebnis: 403 ... Hä?! Ok - Merke: Googlebot/ und wir bekommen ein 200er. Jetzt hab ich Bing hinzugefügt. Orginal ist hier aber schon bingbot/ <... so hab ich den eingefügt ... von Googlebot weiß ich ja: mit / klappt es. Nö ... Bingbot 403! Ich lösche / => 403...............
===>>> es gibt hier also irgendein Problem mit der Erkennung von Bots und der Schreibweise in der Spiders/Bot-Liste. Die UserAgents sind ja eigentlich noch länger - das heißt das Forenscript prüft den eingeben UA mit dem vom Bot - ist der String enthalten -> Bot. Wo ist jetzt bei so einer Erkennung der Unterschied zwischen Googlebot/ und Googlebot wenn der UA vollständig: "...compatible; Googlebot/2.1 (....)" heißt. Es sollte BEIDES matchen. Und warum klappt es bei Bingbot nicht....
Was mich ebenfalls irritiert:
Wenn ein BOT nicht mit der BOTListe matched ist er doch ein GAST? Als Gast steht das ganze Forum offen ... Warum bekommen Google/Bing dann einen 403er. Kann doch eigentlich nicht sein? Oder erkennt das Forum an der Art und weiße wie ein Bot das Forum durchkämpt: Bot und "wehrt" sich dagegen mit 403er? Aber kann ja nicht sein - sobald Google sich dann umbenennt - Pech gehabt fürs crawlen .. kann ja nicht sein.
=> was für ein Problem hab ich hier und wie bekomme ich das gelöst?
Danke
Wuppi
PS: aktuell bekommt Googlebot/ ein 200er - wer das jetzt mit httpstatus testen möchte, nimmt bitte den Bingbot

Automatisch dem Beitrag hinzugefügt nach 42 Minuten 20 Sekunden. Bitte Regel für „Topic-Bumping“ beachten. Danke.
Hallo zusammen,
ich hab mir jetzt mal ausführlich die Tabelle angeschaut. WARNUNG: STK für 3.2.5 ist bei der BOT-Aktion definitiv fehlerhaft! Wer STK und dort die BOT-Aktualisierung genutzt hat, sollte auf jedenfall mal prüfen ob Google etc. noch schauen dürfen!
Mir ist folgendes aufgefallen.
Wir haben 3 relevante Tabellen wenn wir von Bots reden:
* bots (enthält 92 Bots, von 48! Vieles Doppelt)
* groups
* users (enthält nur die 48)
Beispiel: Googlebot/ <- den hab ich via ACP manuell hinzugefügt; und der LÄUFT (200er)
bots -> user_id: 26089, bot_id: 146
users -> user_id: 26089 (bei Permission stehen ganz viele Sachen drin ... steht sonst bei keinem bot ... was heißt das?! Yandex hatte ich auch manuell hinzugefügt - da steht nichts....)
Beispiel: Googlebot <- den hab ich EIGENTLICH im ACP gelöscht
bots -> user_id: 26009, bot_id: 66
users -> user_id: gibt es nicht
=> der User 26009 exitiert nicht in der users und bekommt somit ein 403er (wobei hier noch die frage offen ist: ist er dann nicht eigentlich ein GAST?)
In der Bots hab ich jetzt 2x Google stehen ... 26089 und 26009. Wenn auf 26009 matched und es kein User gibt -> Pech.
Der Bingbot steht jetzt 2x als bingbot/ in der bots. ID 26000 (bot 57) und ID 26088 (bot 145). Kommt jetzt ein bingbot/ matched er mit dem ältesten Eintrag - Bot 57 und user_id 26000 ... die gibt es in der users natürlich nicht => Pech.
====>>> Damit dürfte das Problem und die Ursache soweit analysiert sein. Jetzt müssen diese beiden Tabellen aufgeräumt werden.
Ich habe da diesen Beitrag viewtopic.php?p=1386227#p1386227 gefunden. Wenn ich das Script richtig verstehe, leert es die "bots", und löscht Anhand der bot_id die Bots in der "users". Danach werden die Bots aus dem Script eingefügt - sowohl in bots als auch user_id - damit hätten alle Bots in "bots" und "user" die gleiche user_id und das Problem wäre behoben. Interpretiere ich das Script richtig? Kennt das wer? Kann es erst die nächsten Tage testen ...
Würde aber per "Workaround" in der "bots" den ungültigen Bingbot löschen. Danach hätte ich dort nur noch die 26088 die auch mit der "users" matched. Klingt harmlos? Damit hätte ich zumindest ERSTMAL Google, Bing und Yandex am laufen - und damit einen Großteil der Weltbevölkerung abgedeckt

Danke
PS: ich hoffe ich habe es jetzt etwas deutlicher beschrieben
