inline: Avoid showing edit links if page editing is disabled. (Sjoerd)
[ikiwiki] / doc / bugs / Error:_Your_login_session_has_expired._.mdwn
1 I keep getting:
2
3         Error: Your login session has expired.
4
5 Whilst trying to edit http://hugh.vm.bytemark.co.uk/ikiwiki.cgi via OpenID. Any ideas?
6
7
8         iki@hugh:~$ dpkg -l | grep openid
9         ii  libnet-openid-consumer-perl     0.14-4                library for consumers of OpenID iden
10         tities
11         iki@hugh:~$
12
13 > This error occurs if ikiwiki sees something that looks like a CSRF
14 > attack. It checks for such an attack by embedding your session id on the
15 > page edit form, and comparing that id with the session id used to post
16 > the form.
17
18 > So, somehow your session id has changed between opening the edit form and
19 > posting it. A few ways this could happen:
20
21 > * Genuine CSRF attack (unlikely)
22 > * If you logged out and back in, in another tab, while the edit form was
23 >   open.
24 > * If `.ikiwiki/sessions.db` was deleted/corrupted while you were in the
25 >   midst of the edit.
26 > * If some bug in CGI::Session caused your session not to be saved to the
27 >   database somehow.
28 > * If your browser didn't preserve the session cookie across the edit
29 >   process, for whatever local reason.
30 > * If you were using a modified version of `editpage.tmpl`, and 
31 >   it did not include `FIELD-SID`.
32 > * If you upgraded from an old version of ikiwiki, before `FIELD-SID` was
33 >   added (<= 2.41), and had an edit form open from that old version, and
34 >   tried to save it using the new.
35 >  
36 > I don't see the problem editing the sandbox there myself, FWIW.
37 > (BTW, shouldn't you enable the meta plugin so RecentChanges displays
38 > better?)
39 > --[[joey]]
40
41
42 Thanks for you excellent analysis. The bug was due to old pre-3.0 **templates** laying about. After deleting them, ikiwiki defaults to its own templates. Clever. :-)
43
44 [[bugs/done]]