Hallo zusammen,
ich habe Schwierigkeiten, folgenden Fehler einzugrenzen und nach langer Suche im Netz nichts wirklich hilfreiches gefunden.
Auch ein Update von 3.5.0 auf 3.5.3 hat nichts gebracht.
Wenn Crawler auf meine Seite zugreifen, benutzen sie häufig die URL [domain]/[eineSeite]?page_e56=[eine Zahl]
Der URL-Parameter führt dazu, dass ein 404 generiert wird -- ich weiß auch gar nicht, warum die Crawler das tun.
Jedenfalls führt (auch der manuelle Aufruf) einer solchen Seite zu langen Ladezeiten (ca. 2 Minuten) ohne Ergebnis oder manchmal einem Internal Server Error
des Webservers, was wohl den memory size exhausted fehler im error-log generiert. In der Zeit ist die Seite nicht mehr erreichbar.
Ja, genau: so einfach ist es im Moment die Seite zu crashen. Jetzt hab ich erst mal die robots verboten. Noch viel schlimmer ist, dass im System-Log nicht nur
ein Eintrag bzgl. des gescheiterten Versuchs, die Seite aufzurufen steht, sondern gleich etwa 600. In kürzester Zeit werden die Logs so mit 10000en Zeilen geflutet.
Mein erster Gedanke war, dass es ein stack-overflow-error durch wiederholte Funktionsaufrufe sein könnte, bei dem immer die Log-Meldungen generiert wird.
Das passiert tatsächlich nur mit dem Attribut page_e56 und noch einigen anderen page_...-Attributen.
Habt ihr Tipps, um den Fehler einzugrenzen? Könnte das evtl. auch ein Sicherheitsproblem für contao sein, da so ja auch ein DOS-Angriff denkbar wäre. Der
Fehler in der error.log lautet
Code:
Allowed memory size of 134217728 bytes exhausted (tried to allocate 36 bytes) in
[ausgeblendet]/system/modules/core/pages/PageRegular.php on line 441
Edit: Vielleicht noch ein paar weitere Sachen. In einer älteren Error-Log-Datei habe ich einen Backtrace gefunden, der meine Vermutung mit den Funktionsaufrufen
bestätigt.
Code:
#23 /mnt/web7/c0/03/5231803/htdocs/mpg/system/modules/core/pages/PageError404.php(102): Contao\PageRegular->generate(Object(Contao\PageModel))
#24 /mnt/web7/c0/03/5231803/htdocs/mpg/system/modules/calendar/modules/ModuleEventlist.php(207): Contao\PageError404->generate('19')
#25 /mnt/web7/c0/03/5231803/htdocs/mpg/system/modules/core/modules/Module.php(282): Contao\ModuleEventlist->compile()
#26 /mnt/web7/c0/03/5231803/htdocs/mpg/system/modules/calendar/modules/ModuleEventlist.php(70): Contao\Module->generate()
#27 /mnt/web7/c0/03/5231803/htdocs/mpg/system/modules/core/library/Contao/Controller.php(313): Contao\ModuleEventlist->generate()
#28 /mnt/web7/c0/03/5231803/htdocs/mpg/system/modules/core/pages/PageRegular.php(133): Contao\Controller::getFrontendModule(Object(Contao\ModuleModel), 'right')
#29 /mnt/web7/c0/03/5231803/htdocs/mpg/system/modules/core/pages/PageError404.php(102): Contao\PageRegular->generate(Object(Contao\PageModel))
#30 /mnt/web7/c0/03/5231803/htdocs/mpg/system/modules/calendar/modules/ModuleEventlist.php(207): Contao\PageError404->generate('19')
#31 /mnt/web7/c0/03/5231803/htdocs/mpg/system/modules/core/modules/Module.php(282): Contao\ModuleEventlist->compile()
#32 /mnt/web7/c0/03/5231803/htdocs/mpg/system/modules/calendar/modules/ModuleEventlist.php(70): Contao\Module->generate()
#33 /mnt/web7/c0/03/5231803/htdocs/mpg/system/modules/core/library/Contao/Controller.php(313): Contao\ModuleEventlist->generate()
#34 /mnt/web7/c0/03/5231803/htdocs/mpg/system/modules/core/pages/PageRegular.php(133): Contao\Controller::getFrontendModule(Object(Contao\ModuleModel), 'right')
usw.
Das geht bis Zeile 10363
Lesezeichen