Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Wiederholte Umfragedurchläufe nicht möglich? (CSRF-Fehler)

  • BlackBox
  • BlackBox's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
7 years 7 months ago #150072 by BlackBox
Hallo zusammen,

bei mehreren direkt hintereinander erfolgenden Umfragedurchläufen (Umfrage ist bewusst so konzipiert, die Teilnehmer werden dazu aufgefordert), bricht die Umfrage ab dem zweiten Durchlauf mit dieser Fehlermeldung ab: "The CSRF token could not be verified". Die Option "Setze Cookie um wiederholte Teilnahme auszuschließen" ist ausgeschaltet, d. h. eigentlich müsste es gehen.

max_input_vars ist auf 5000 gesetzt, die Umfrage reizt diesen Wert bei Weitem nicht aus (vgl. www.limesurvey.org/manual/Troubleshootin...d_not_be_verified.27 ).

Wenn ich die CSRF-Funktionalität in YII komplett deaktiviere (wie hier beschrieben: www.yiiframework.com/doc/guide/1.1/en/to...t-forgery-prevention ), startet die Umfrage zwar, kommt aber nicht über die erste Fragegruppe hinaus (Klick auf "Weiter" führt auf dieselbe Seite zurück).

LimeSurvey: 2.64.1+170310
PHP: 7.0
MySQL: 5.5

Kann mir jemand weiterhelfen?

Danke & Gruß
Michael
The topic has been locked.
  • BlackBox
  • BlackBox's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
7 years 7 months ago #150073 by BlackBox
Ergänzung:

Wir führen zwei Umfragen gleichzeitig durch. Der Fehler tritt nicht nur bei wiederholter Durchführung ein und derselben Umfrage auf, sondern auch, wenn man erst die eine und dann direkt die andere Umfrage durchführt.

Kann es sein, dass die in der Session gespeicherten CSRF-Daten nach Beendigung einer Umfrage nicht korrekt zurückgesetzt werden? Nach meinem Verständnis müssten sie das, jedenfalls wenn die oben erwähnte Option nicht gesetzt ist.
The topic has been locked.
More
7 years 7 months ago - 7 years 7 months ago #150074 by jelo

BlackBox wrote: bei mehreren direkt hintereinander erfolgenden Umfragedurchläufen (Umfrage ist bewusst so konzipiert, die Teilnehmer werden dazu aufgefordert), bricht die Umfrage ab dem zweiten Durchlauf mit dieser Fehlermeldung ab: "


Sind die Teilnehmer an einem Ort? Nutzen eine Internetverbindung? Gleiche Browser? Gleicher Rechner?
Oder verstreut mit verschiedenen Intetnetverbindungen und verschiedenen Endgeräten/Browsern?

Der Fehler tritt nicht nur bei wiederholter Durchführung ein und derselben Umfrage auf, sondern auch, wenn man erst die eine und dann direkt die andere Umfrage durchführt.

Du meinst

Umfrage 1 -> Umfrage 1 (hier Fehler)
Umfrage 1 -> Umfrage 2 -> Umfrage 1(hier Fehler)

Aber NICHT:
Umfrage 1 -> Umfrage 2 (hier Fehler)


Welches Betriebssystem wird beim Webserver eingesetzt?

The meaning of the word "stable" for users
www.limesurvey.org/forum/development/117...ord-stable-for-users
Last edit: 7 years 7 months ago by jelo.
The topic has been locked.
  • BlackBox
  • BlackBox's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
7 years 7 months ago - 7 years 7 months ago #150077 by BlackBox

Sind die Teilnehmer an einem Ort? Nutzen eine Internetverbindung? Gleiche Browser? Gleicher Rechner?
Oder verstreut mit verschiedenen Intetnetverbindungen und verschiedenen Endgeräten/Browsern?


Alles divers, die Umfrageteilnehmer antworten von ihren eigenen Geräten.

Umfrage 1 -> Umfrage 1 (hier Fehler) FEHLER
Umfrage 1 -> Umfrage 2 -> Umfrage 1(hier Fehler) So weit kommt man gar nicht (s. nächster Punkt).

Aber NICHT:
Umfrage 1 -> Umfrage 2 (hier Fehler) AUCH HIER FEHLER


Welches Betriebssystem wird beim Webserver eingesetzt?

Apache auf Linux

Wenn ich eine Umfrage über "Umfrage beenden und löschen" abbreche, kann ich sie übrigens direkt wieder starten und der Durchgang läuft korrekt.

Ergänzung: Was zu helfen scheint, ist das Schließen des Browsers zwischen den Durchläufen (dadurch wird der Cookie YII_CSRF_TOKEN gelöscht).
Last edit: 7 years 7 months ago by BlackBox.
The topic has been locked.
More
7 years 7 months ago #150079 by jelo
Sieht schwer nach Cookie/Session Problem aus.
Läuft die Befragung auf einer Subdomain? Oder einem Ordner unterhalb der Hauptdomain?
Link zu einer Demobefragung verfügbar?
Im Browser wären mal alle Cookies zu checken, die gesetzt werden, wenn man die Befragung aufruft. Wird am Ende der Befragung die EndURL genutzt und eine Weiterleitung erfolgt?

The meaning of the word "stable" for users
www.limesurvey.org/forum/development/117...ord-stable-for-users
The topic has been locked.
  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
7 years 7 months ago - 7 years 7 months ago #150092 by holch
Schon mit dem url zusatz "newtest" probiert?

www.limesurvey.org/forum/design-issues/9...e-url-with-newtest-y

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

Last edit: 7 years 7 months ago by holch.
The topic has been locked.
  • BlackBox
  • BlackBox's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
7 years 7 months ago #150100 by BlackBox
Mit "newtest=y" funktioniert es. Danke für den Hinweis! Aber wäre es nicht sinnvoll und logisch, wenn LS nach vollständigen Durchläufen automatisch die Session zurücksetzen würde? Jedenfalls wenn die Cookie-Option (s. oben) nicht gesetzt ist und somit mehrere Durchläufe zulässig sind.

Ist das ein Fall für den Bugtracker? Was meinen die Experten?
The topic has been locked.
  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
7 years 7 months ago - 7 years 7 months ago #150101 by holch
Ohoh, du hast Limesurvey und Session in einem Satz erwähnt. Jetzt kannst Du Dich auf etwas gefasst machen. Jelo, du bist dran...

:-)

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

Last edit: 7 years 7 months ago by holch.
The topic has been locked.
  • BlackBox
  • BlackBox's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
7 years 7 months ago #150103 by BlackBox
Heißes Thema? Nichts für ungut. Will niemandem auf die Füße treten, habe nur meine Perspektive als User beschrieben. Von den Kenntnissen eines echten PHP-Entwicklers bin ich weit entfernt ...
The topic has been locked.
  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
7 years 7 months ago #150106 by holch
Nein, kein Problem. Die Sessions in LS sind halt Jelos Steckenpferd. Ich bin da auch kein Experte, aber die Sessions sind offensichtlich nicht so ideal umgesetzt in Limesurvey (z.T. werden sehr grosse Sessionfiles erzeugt) und Jelo hat da halt schon "1-2 Mal" draufhingewiesen.

Ich wollte eigentlich auch nur Jelo ein bisschen "aufziehen".

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

The topic has been locked.
More
7 years 7 months ago - 7 years 7 months ago #150107 by jelo

BlackBox wrote: Aber wäre es nicht sinnvoll und logisch, wenn LS nach vollständigen Durchläufen automatisch die Session zurücksetzen würde?

Gibt ja manche Befragungslinks, die das newtest immer mitführen.

holch hat ja leider die Lösung zu früh verraten.
Ich wollte ja weitere Infos sammeln, da Fehlerlage meist recht komplex ist.
Dein Fehlerbild kommt ja nicht in allen Setups so vor.

Das Cookie soll ja seine Gültigkeit nach Ende der Session verlieren.

Name YII_CSRF_TOKEN
Value 39dsadsdsdölsadksaödksadkasdsad8 (no real!)
Host demo.limesurvey.org
Path /
Expires At end of session
Secure Yes
HttpOnly No

Je nach Browser werden solche Sessions/Cookies aber auch zwischengespeichert.
Zumal wenn x Tabs offen sind.
Und beim erneuten Aufruf kommen die Websites dann aus dem Cache, anstatt neu abgerufen zu werden.
www.yiiframework.com/wiki/506/checking-f...-on-the-client-side/

Stets am Ende das NewTest mitlaufen zu lassen, ist natürlich auch eine Möglichkeit.
Können sich die Entwickler ja mal zu auslassen. Ich diene hier mehr als Waldorf- und Statler-Double. Ich sehe konzeptionell nur das Problem, dass newtest ja eine neue Session initiert, obwohl am Ende ja nicht zwangsläufig eine neue Session benötigt wird.

Da hier auf das Yii-Framework aufgesetzt wird, gibt sicherlich auch noch die ein- oder andere Macke im Zusammenspiel mit altem Code.
www.yiiframework.com/doc/guide/1.1/de/topics.security


Und dieser Fehler ist bei allen Nutzern auftaucht? Oder gibt es Ausnahmen im Feld?
Was ist mit unterschiedlichen Zeitabständen des Zugriffs?

The meaning of the word "stable" for users
www.limesurvey.org/forum/development/117...ord-stable-for-users
Last edit: 7 years 7 months ago by jelo.
The topic has been locked.
  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
7 years 7 months ago #150109 by holch

jelo wrote: holch hat ja leider die Lösung zu früh verraten.


Sorry... ;-)

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

The topic has been locked.
Moderators: holchJoffmtpartner

Lime-years ahead

Online-surveys for every purse and purpose