Ergebnis 1 bis 16 von 16

Thema: Bug: Ungültige year, month und day Parameter an der URL erzeugen Fatal error

  1. #1
    Contao-Nutzer
    Registriert seit
    21.06.2009.
    Beiträge
    19

    Standard Bug: Ungültige year, month und day Parameter an der URL erzeugen Fatal error

    Hallo,

    mir ist gerade aufgefallen, dass Besucher einen PHP Fatal error erzeugen können, wenn sie in der URL für die year, month oder day Parameter einen ungültigen (im Sinne von: Entspricht keinen erwarteten Datumsformat) Wert eintragen.

    Demo:

    Funktioniert: http://demo.contao.org/en/events.html?month=201505
    Erzeugt einen Fehler: http://demo.contao.org/en/events.html?month=abc

    Das ist natürlich unschön. Besser wäre es, einen falschen Wert einfach zu ignorieren (zeigt den Kalender als wäre kein Wert angegeben). Optimal wäre eine 404-Nicht-gefunden-Meldung (erzeugt somit keinen duplicate content). Aber ein Fatal error geht gar nicht.

    Viele Grüße

  2. #2
    Contao-Nutzer
    Registriert seit
    21.06.2009.
    Beiträge
    19

    Standard

    Scheint wohl global so zu sein. News betrifft es auch: http://demo.contao.org/en/news-detail.html?year=abc

  3. #3
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.165
    Partner-ID
    10107

    Standard

    Statt im Forum solltest du sowas als Ticket hier reporten: https://github.com/contao/core/issues

  4. #4
    Contao-Nutzer
    Registriert seit
    21.06.2009.
    Beiträge
    19

    Standard

    Hab keinen Github-Account.

  5. #5
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.165
    Partner-ID
    10107

    Standard

    Naja mach halt einen... ich nehme stark an, dass du wahrscheinlich auch sonst noch mehrere Accounts hast, nicht nur einen Account für's deutsche Contao forum

  6. #6
    Contao-Fan Avatar von µaTh
    Registriert seit
    13.05.2010.
    Beiträge
    951

    Standard

    kurze Rückmeldung zu dem Thema: in Contao 3.5 gibt es jetzt eine entsprechende Fehlerbehandlung:

    https://github.com/contao/core/issues/7545

    https://contao.org/de/news/contao_3-5-beta1.html :
    Verbesserte Fehlerbehandlung

    Im Frontend wurde die Fehlerbehandlung vereinheitlicht, so dass nun immer die 404er-Seite generiert wird, wenn ein Event oder eine Nachricht nicht gefunden wird oder wenn eine ungültige Seitennummer oder ein ungültiges Datum eingegeben wird.

    Dasselbe gilt auch dann, wenn eine Seite über ihre numerische ID aufgerufen wird, obwohl ihr ein Alias zugewiesen wurde (z.B. 44.html anstatt home.html). Die Ausgabe der Fehlerseite dient hier als zusätzliches Mittel zur Vermeidung von Duplicate Content.

  7. #7
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.081
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hmm, habe in der Demo (3.5.2) gerade mal die Fehlerausgabe im Frontend aktiviert: die falsche Eingabe erzeugt immer noch eine warning, wenn auch keinen fatal error mehr.
    Code:
    Warning: checkdate() expects parameter 3 to be long, string given in system/modules/core/library/Contao/Date.php on line 436
    
    #0 [internal function]: __error(2, 'checkdate() exp...', '...', 436, Array)
    #1 system/modules/core/library/Contao/Date.php(436): checkdate(1, 1, 'abc')
    #2 system/modules/core/library/Contao/Date.php(79): Contao\Date->dateToUnix()
    #3 system/modules/calendar/modules/ModuleCalendar.php(92): Contao\Date->__construct('abc', 'Ym')
    #4 system/modules/core/modules/Module.php(282): Contao\ModuleCalendar->compile()
    #5 system/modules/calendar/modules/ModuleCalendar.php(78): Contao\Module->generate()
    #6 system/modules/core/elements/ContentModule.php(59): Contao\ModuleCalendar->generate()
    #7 system/modules/core/library/Contao/Controller.php(476): Contao\ContentModule->generate()
    #8 system/modules/core/modules/ModuleArticle.php(213): Contao\Controller::getContentElement(Object(Contao\ContentModel), 'left')
    #9 system/modules/core/modules/Module.php(282): Contao\ModuleArticle->compile()
    #10 system/modules/core/modules/ModuleArticle.php(67): Contao\Module->generate()
    #11 system/modules/core/library/Contao/Controller.php(409): Contao\ModuleArticle->generate(false)
    #12 system/modules/core/library/Contao/Controller.php(269): Contao\Controller::getArticle(Object(Contao\ArticleModel), false, false, 'left')
    #13 system/modules/core/pages/PageRegular.php(133): Contao\Controller::getFrontendModule('0', 'left')
    #14 system/modules/core/controllers/FrontendIndex.php(267): Contao\PageRegular->generate(Object(Contao\PageModel), true)
    #15 index.php(20): Contao\FrontendIndex->run()
    #16 {main}

  8. #8

  9. #9
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.081
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hm, dann muss ich wohl nochmal probieren. Ich habe im BE der Demo die Ausgabe aktiviert ud dann den zweiten Link im ersten Beitrag angeklickt.

  10. #10
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.081
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Irgendwas läuft da furchtbar schief. Ich habe im BE der Demo nachgeschaut, Fehlerausgabe ins FE war ausgeschaltet. Aber ich bekomme beim Klick auf den obigen Link immer noch den Fehler den ich gepostet habe, trotz gelöschter Cookies und Browsercache, auch in einem anderen Browser ?!?. Das sollte doch eigentlich gar nicht gehen. Andererseits habe ich mir den Fehler auch nicht aus den Fingern gesogen.

  11. #11
    Contao-Fan Avatar von µaTh
    Registriert seit
    13.05.2010.
    Beiträge
    951

    Standard

    Zitat Zitat von tab Beitrag anzeigen
    Irgendwas läuft da furchtbar schief. Ich habe im BE der Demo nachgeschaut, Fehlerausgabe ins FE war ausgeschaltet. Aber ich bekomme beim Klick auf den obigen Link immer noch den Fehler den ich gepostet habe, trotz gelöschter Cookies und Browsercache, auch in einem anderen Browser ?!?. Das sollte doch eigentlich gar nicht gehen. Andererseits habe ich mir den Fehler auch nicht aus den Fingern gesogen.
    sprichst du von demo.contao.org? ich kann da nicht mal den Hacken bei "Display error messages" speichern... wird beim Speichern wieder deaktiviert.

  12. #12
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.081
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ja, genauer von diesem Link: http://demo.contao.org/en/events.html?month=abc
    Selbst vom Smartphone aus, das bisher noch nie was von Contao gehört hatte, hatte ich diesen Fehler. Auch jetzt gerade eben noch vom Firefox aus, mit dem ich jetzt diesen Beitrag schreibe. Irgendwie verstehe ich gerade gar nicht mehr, was hier eigentlich abgeht. Der Haken im BE ist definitiv nicht drin, also woher kommt diese warning im FE???

    Ich erinnere mich noch, dass ich den Haken im BE gesetzt hatte und dann gespeichert. Davor hat der Link keinen Fehler gebracht. Dann war der Haken wieder weg, wie du geschrieben hast. Also habe ich ihn wieder gesetzt und "Speichern und schließen" geklickt. Dann nochmal den Link angeklickt und die Warning wurde ausgegeben. Und jetzt bekomme ich sie auf drei Browsern nicht mehr weg. Mit dem Handy habe ich es erst probiert, als der Haken bereits definitiv wieder draußen war. Einfach um sicher auszuschliessen, dass da irgendwas in meinen Browsercaches sein könnte oder ein Cookie gesetzt oder was auch sonst immer lokal "verstellt". Den anderen Link mit dem existierenden Monat kann ich ganz normal aufrufen, und dieser falsche Link leitet mich auf die Startseite weiter: http://demo.contao.org/en/events.html?month=201513.
    Das ist ja wohl auch so geplant. Aber irgendwelche Monatsangaben wie eben z.B. abc, die nicht als Monat interpretierbar sind, klappen nicht und geben die warning, wo auch jeweils der von mir eingegebene falsche Monatsstring schön in der warning drinsteht. Insofern wohl schon mal nichts mit Cache. Der Response Header sieht erstaunlichweise aber so aus mit Status 200 (=OK):

    Code:
    http://demo.contao.org/en/events.html?month=abc
    
    Server: nginx/1.2.1
    
    Date: Mon, 03 Aug 2015 19:17:11 GMT
    
    Content-Type: text/html
    
    Transfer-Encoding: chunked
    
    Connection: keep-alive
    
    X-Powered-By: PHP/5.5.26
    
    Set-Cookie: PHPSESSID=7429f810ad5f1e72d1ac0fb541ae38b3; path=/; HttpOnly
    BE_USER_AUTH=de257e4cc8d714d279f89ff82e412e8f23cc3228; expires=Sun, 02-Aug-2015 19:17:11 GMT; Max-Age=-86400; path=/; httponly
    FE_USER_AUTH=f0463fa1be4d4e8bcd003f75da810d10bada5db9; expires=Sun, 02-Aug-2015 19:17:11 GMT; Max-Age=-86400; path=/; httponly
    
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    
    Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    
    Pragma: no-cache
    
    Content-Encoding: gzip
    
    
    200 OK

  13. #13
    Contao-Fan Avatar von µaTh
    Registriert seit
    13.05.2010.
    Beiträge
    951

    Standard

    ok. ich kann es jetzt auch auf der demo nachvollziehen und in meiner lokalen installation ebenfalls.

    Bei meiner lokalen installation kommt jedoch bei abgeschalteten Fehlermeldungen das Fenster: "Es ist ein Fehler aufgetreten. Was ist das Problem? Bei der Ausführung des Skriptes ist ein Fehler aufgetreten. Irgendetwas funktioniert nicht richtig. (usw.)"

    Ich versuch das ganze mal in ein Github-Ticket zu gießen

  14. #14

  15. #15
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.081
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich bin ja schon froh, dass ich nicht irgendeinen Virus an den Fingern habe, der beim eintippen der URL auf den jeweiligen Browser übertragen wird .

  16. #16
    Contao-Fan Avatar von µaTh
    Registriert seit
    13.05.2010.
    Beiträge
    951

    Standard

    Der Bugfix wurde von Leo eben für Version 3.5.3 vorgemerkt

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •