Merkwürdige Wartezeit bei admin-Ansicht auf localhost

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
olape
Posts: 1643
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Merkwürdige Wartezeit bei admin-Ansicht auf localhost

Post by olape » Fri Apr 15, 2016 11:44 am

lck wrote:nur in der Zeile von "Sharff" erscheint ein "Fatal error"
meine Seite läuft auf SSL, also https.
Ein Problem, welches meines Wissens nach mit der Version 1.4 Hi_updatecheck behoben wurde

lck
Posts: 2279
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Merkwürdige Wartezeit bei admin-Ansicht auf localhost

Post by lck » Fri Apr 15, 2016 12:27 pm

olape wrote:Ein Problem, welches meines Wissens nach mit der Version 1.4 Hi_updatecheck behoben wurde
Genau, so ist es.

Hatte deshalb die version.nfo unter die Lupe genommen, aber da steht nichts von https:
die Seite wird auf SSL umgeleitet.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

olape
Posts: 1643
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Merkwürdige Wartezeit bei admin-Ansicht auf localhost

Post by olape » Fri Apr 15, 2016 1:06 pm

lck wrote:Hatte deshalb die version.nfo unter die Lupe genommen, aber da steht nichts von https:
Tarnung ;)

Ernsthaft. Das machte in dem Fall keinen Unterschied als ich es getestet hatte.
Manchmal ist dumm und aus irgendeinem Grund ist https bei der Seite nicht mehr verfügbar.
Dann hätte es per Umleitung von https auf http sicher auch funktioniert. Aber so fand ich es besser.

cmb
Posts: 13536
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Merkwürdige Wartezeit bei admin-Ansicht auf localhost

Post by cmb » Fri Apr 15, 2016 3:39 pm

lck wrote:Hier mal meine Erfahrungen, sollte es noch jemanden interessieren.
[…]
Danke für die ausführlichen Tests und die entsprechende Info. :)
olape wrote:
lck wrote:nur in der Zeile von "Sharff" erscheint ein "Fatal error"
meine Seite läuft auf SSL, also https.
Ein Problem, welches meines Wissens nach mit der Version 1.4 Hi_updatecheck behoben wurde
Stimmt, das war's!
Christoph M. Becker – Plugins for CMSimple_XH

Holger
Site Admin
Posts: 3242
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany
Contact:

Re: Merkwürdige Wartezeit bei admin-Ansicht auf localhost

Post by Holger » Fri Apr 15, 2016 7:40 pm

Hallo Christoph,
cmb wrote:Stimmt, das war's!
Hmm, das scheint mir nicht die ganze Wahrheit zu sein. Zwar funktionieren nun Requests per https, aber...

Du erinnerst dich sicher an unsere Diskussion über den Standard-Wert für den Timeout von fsockopen(). Im Ergebnis war das irrelevant, denn der Timeout bezieht sich lediglich auf die Zeit um den Socket zu öffnen. Die nötige Zeit beim lesen des Streams ist hier unberücksichtigt :roll: . Zusätzlich muss man dafür stream_set_timeout() bemühen und zwar nachdem man per fputs() den Request gesendet hat, sonst funktioniert es nicht - warum auch immer - und es gelten die Werte aus der PHP-Konfiguration.
Ich hab' mal ein paar Tests gemacht: so unter 1 Sekunde für stream_set_timeout() bekomme ich (im Moment) von meinem lokalen Rechner aus langsam die ersten Timeouts, was aber sicher von einer großen Anzahl von Faktoren abhängt.

Das zweite Problem ist, wie Du richtig erkannt hast, das Session-Locking. Da alle XHR-Requests an index.php gehen, lockt PHP die Session bei jedem session_start(), klar.
JSONP wäre vielleicht eine Alternative. Aber wie ist es dann da, wenn ein Request lange braucht? Außerdem ist mir nicht wirklich klar, wie ich die vom Client initiierten Requests im Bezug auf CRSF sicher machen könnte. Aber vermutlich wäre das nicht einmal so ein gr0ßes Problem, wenn man die Response sauber validiert. Auf die Art kann ich dann aber die Session nicht mehr zum speichern des Staus nutzen. Hier müsste dann vielleicht ein Cookie herhalten.
Auf der anderen Seite könnte ich das Problem dann aber mindestens genauso "sicher" per PHP realisieren:
Beim Login wird ein einziger XHR-Request an ein Standalone-Skript (wie vorher an updatecheck.php) geschickt. Alle lokal installierten Versionsinfos werden dem Request per Post mitgegeben. Das Skript wertet dann nacheinander die Versionen aller Module aus und gibt lediglich ein true/false zurück, wenn es ein Update gibt.

Beides scheinen aber auch keine wirkliche bessere Lösungen zu sein, denn wenn ein Server etwas länger für die Antwort benötigt, oder der User zu schnell die Seite verlässt, wird er die Update-Info nicht sehen.

Warum also keine ehrliche Lösung?
Wenn "AutoCheck" aktiv ist, könnte eine Meldung "Updates werden gesucht..." mit animiertem Loading-GIF erscheinen. Dann weiß der User wenigstens warum eventuell etwas hängt und schaltet die Prüfung dann eben aus, wenn es auf Dauer zu lange braucht.

Was mich aber wirklich nervt ist, dass der Editor nicht lädt und die nackte Textarea auf die Updateprüfung warten muss. Viel eleganter schaut es aus, wenn die Prüfung erst beim Wechsel in den Ansichts-Modus startet. Mir scheint es dafür aber keine Lösung zu geben...
lck wrote:Hier mal meine Erfahrungen, sollte es noch jemanden interessieren.
Danke für den ausgiebigen Test. Das war der Grund, weshalb ich mir die Sache mit den Timeouts noch einmal vorgenommen habe.

LG
Holger

olape
Posts: 1643
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Merkwürdige Wartezeit bei admin-Ansicht auf localhost

Post by olape » Fri Apr 15, 2016 8:13 pm

Holger wrote:Warum also keine ehrliche Lösung?
Wenn "AutoCheck" aktiv ist, könnte eine Meldung "Updates werden gesucht..." mit animiertem Loading-GIF erscheinen. Dann weiß der User wenigstens warum eventuell etwas hängt und schaltet die Prüfung dann eben aus, wenn es auf Dauer zu lange braucht.
Das finde ich gut

Vielleicht wäre das eine Lösung dafür, oder besser eine mögliche Umgehung des Problems.
http://cmsimpleforum.com/viewtopic.php? ... hau#p51705
Mir persönlich wäre es recht, wenn nach dem Login erst mal der Vorschaumode aktiviert wäre.

Oder?

Könnte man denn für den Updatecheck nicht eine Art Timer setzen?
Damit der Rest erst mal geladen wird.

cmb
Posts: 13536
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Merkwürdige Wartezeit bei admin-Ansicht auf localhost

Post by cmb » Fri Apr 15, 2016 10:32 pm

Hallo Holger!
Holger wrote:Du erinnerst dich sicher an unsere Diskussion über den Standard-Wert für den Timeout von fsockopen(). Im Ergebnis war das irrelevant, denn der Timeout bezieht sich lediglich auf die Zeit um den Socket zu öffnen. Die nötige Zeit beim lesen des Streams ist hier unberücksichtigt :roll: . Zusätzlich muss man dafür stream_set_timeout() bemühen
Stimmt, fsockopen()s Timeout gilt nur für das Herstellen der Socketverbindung.
Holger wrote:und zwar nachdem man per fputs() den Request gesendet hat, sonst funktioniert es nicht - warum auch immer - und es gelten die Werte aus der PHP-Konfiguration.
Das war mir neu. Im Beispiel in der Doku kann man sehen, das es so gedacht ist – eigentlich auch nicht allzu überraschend, da der Timeout sich ja letztlich auf das Lesen bezieht (glaube ich jedenfalls).
Holger wrote:Warum also keine ehrliche Lösung?
Wenn "AutoCheck" aktiv ist, könnte eine Meldung "Updates werden gesucht..." mit animiertem Loading-GIF erscheinen. Dann weiß der User wenigstens warum eventuell etwas hängt und schaltet die Prüfung dann eben aus, wenn es auf Dauer zu lange braucht.
Das ist vielleicht wirklich das beste. :)
Holger wrote:Was mich aber wirklich nervt ist, dass der Editor nicht lädt und die nackte Textarea auf die Updateprüfung warten muss. Viel eleganter schaut es aus, wenn die Prüfung erst beim Wechsel in den Ansichts-Modus startet. Mir scheint es dafür aber keine Lösung zu geben...
Na ja, das mit dem Ansichtsmodus ist womöglich eine Option, aber: wieso initialisiert der Editor eigentlich nicht? Wenn der UpdateCheck hängt, dann wird das Dokument nicht fertig geladen (und window.onload nicht getriggert), obwohl die Requests doch asynchron sind. :?
olape wrote:Könnte man denn für den Updatecheck nicht eine Art Timer setzen?
Damit der Rest erst mal geladen wird.
Ein Timeout wäre zumindest ein Workaround (grundsätzlich mag ich solche Timeouts nicht, weil man nie weiß, wie lange man warten soll).
Christoph M. Becker – Plugins for CMSimple_XH

Post Reply