[3.2] Bots bekommen einen 403-Fehler

Fragen rund um die Installation, Administration und Benutzung von phpBB.
Forumsregeln
Bitte im Thementitel den Präfix deiner phpBB-Version angeben
Antworten
Benutzeravatar
Wuppi
Mitglied
Beiträge: 732
Registriert: 14.05.2002 23:04
Wohnort: Köln
Kontaktdaten:

[3.2] Bots bekommen einen 403-Fehler

Beitrag von Wuppi »

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 ;)
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12178
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: [3.2] Bots bekommen einen 403-Fehler

Beitrag von Mahony »

Hallo
Eine Frage: Warum nimmst du nicht das STK für phpBB3.2.7 http://phpbb3-support.square7.ch/viewto ... =754#p4712

Grüße: Mahony
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Benutzeravatar
Wuppi
Mitglied
Beiträge: 732
Registriert: 14.05.2002 23:04
Wohnort: Köln
Kontaktdaten:

Re: [3.2] Bots bekommen einen 403-Fehler

Beitrag von Wuppi »

Ich hab das Teil direkt aus Github (Englische Version) - der Link der auch in dem Post, den du gerade genannt hast, angeben ist. Ich hatte dazu einen älteren Eintrag bei phpbb.com gefunden - da hieß es 3.2.5 - aber wenn auf Github die 3.2.7 liegt, dann hab ich auch die genutzt :)

Aber eben hierdurch scheint das Problem mit dem Bots entstanden zu sein ...

Nur das Teil hat mir vorgestern die Bots zerschossen, daher glaub ich nicht das es die jetzt korrigiert.


(zu STK: das Teil hat auch gleich mehrere bugs ... avatare resycn = avatare wurden nicht mehr angezeigt. Resycn Attachments hab ich mich dann nicht mehr getraut ...; Entferne verwaiste Berechtigungen <- danach hatte die Gruppe Globale Moderatoren keine Rechte mehr ... Als Admin bin ich da wohl abhängig von - merkte das als ich einen Beitrag löschen wollte - aber keine Möglichkeit hatte - ins ACP geguckt - jo - GM war nicht mehr berechtigt; bin daher jetzt doch etwas vorsichtiger das zu nutzen. Muss mir jetzt gerade das alte Forum wieder verfügbar machen um die Rechte "abzutippen"/abzugleichen; mein Board ist aber nun auch 17 Jahre alt ... fing mit ich glaub phpbb2 an ... oder sogar noch 1?! Vielleicht spielt das bei den Bugs auch ein wenig mit ...) ... aber das war jetzt OT :)
Benutzeravatar
canonknipser
Ehemaliges Teammitglied
Beiträge: 2053
Registriert: 10.09.2011 11:14
Kontaktdaten:

Re: [3.2] Bots bekommen einen 403-Fehler

Beitrag von canonknipser »

user_id in der Bots-Tabelle und in der normalen User-Tabelle und natürlich der zugehörige Eintrag in der User-Group-Tabelle müssen immer übereinstimmen; wenn das bei dir nicht der Fall ist, muss da korrigiert werden. Evtl. musst du die Einträge per Hand "synchronisieren". Der 403 kommt dann evtl. daher, dass deine user_id, die dem Bot zugewiesen wird, keine Rechte hat. Dann wird, sofern es nicht der Gast-User ist, ein 403er geworfen, z.B. viewtopic.php

Code: Alles auswählen

// Start auth check
if (!$overrides_f_read_check && !$auth->acl_get('f_read', $forum_id))
{
    if ($user->data['user_id'] != ANONYMOUS)
    {
        send_status_line(403, 'Forbidden');
        trigger_error('SORRY_AUTH_READ');
    }

    login_box('', $user->lang['LOGIN_VIEWFORUM']);
}
Grüße, canonknipser
"there are only 10 types of people: those, who understand binary and those, who don't"
just arrived ;) - Bilder
Kein Support via PN, nur im Board und (manchmal) im IRC
Benutzeravatar
Wuppi
Mitglied
Beiträge: 732
Registriert: 14.05.2002 23:04
Wohnort: Köln
Kontaktdaten:

Re: [3.2] Bots bekommen einen 403-Fehler

Beitrag von Wuppi »

genauso hab ich das dann auch erkannt und bereits gefixt :)

Somit arbeitet phpbb ja dann in etwa so:
Zugriff mit UA: ABC
Prüfen ob ABC = Bot -> db_bots abfragen -> ja ist es - user_id = 123
Abfrage db_users nach user_id = 123 => nicht vorhanden
=> Abfrageergebnis bleibt leer -> User ist niemand -> 403!

Zugriff mit UA: ich_bin_ein_gast
Prüfen in Bot => ist nicht drin
Somit wird in der db_users die user_id = 1 (? oder wer auch der Gastuser ist) genommen => Fertig.
(danach natürlich das übliche mit den rechten ...)

Mein 500er Problem scheint wohl jetzt auch gelöst zu sein - aber trotzdem zum Verständnis: Ich habe mit einem Bot-UA einen 500er bekommen, solang ich Benutzer-Style überschreiben: auf NEIN stehen hatte. Mit JA: klappte es (dann kamen ja die 403er). Dadurch das ich die DB bereinigt habe, kann ich jetzt auch wieder NEIN aktivieren. Scheint zu klappen. Scheint dann das gleiche Schema zu sein? Im Prinzip wie mit der Gruppenzuordnung der bots - nur wird erstmal das Template in der users abgefragt - ist der users nicht vorhanden, gibt es kein template => 500? Irgendwie find ich diese Konstrukt nicht so sicher. Mit hat STK die Bot-Zuordnung zerschossen und mir einen 403/500er gebracht. Wäre es hier nicht sinniger wenn ALLES was NICHT matched automatisch ein GAST-User ist? Da ist ja der Fehler versteckt - user_id in users nicht vorhanden => 500 bzw. 403er ...
Antworten

Zurück zu „Support-Forum“