Panel keeps logging me out

Perfect @bastianallgeier that works, just tested it.

I use it like this

if (c::get("debug") == true) {
    s::$fingerprint = function() {
        return "random fingerprint";
    };
}

I’m also having this problem right now and it’s really frustrating :disappointed: Where would I put that snippet you mentioned? Maybe that will fix it.

You can put it inside the site/config/config.php file. However please adapt it to contain some kind of dynamic information. Just copying it as is makes your site insecure as every user will have the same fingerprint.

like @lukasbestle suggested maybe something like this…

if (c::get("debug") == true) {
    s::$fingerprint = function() {
        return sha1(
            kirby()->roots()->index().
            visitor::ip()
        );
    };
}

edited: not recommended was without the visitor::ip(). now it should be fine. :smile_cat:

No, that’s not recommended. The fingerprint should always include some information about the visitor. The default one contains the user agent and the IP address.

i see. i removed the user part and added visitor:ip().

Thanks for the suggestion, @bnomei and @lukasbestle! But now I’m getting a fatal error:

Access to undeclared static property: S::$fingerprint

Do I have to use the develop branch or could it be something else?

Update

Now I feel foolish. I was so sure that I was using the latest version of Kirby but I was still on 2.3.*. Maybe that fixes everything! Thanks though and I’m really sorry for your trouble :wink:

Unfortunately I’m still getting kicked out. I’ve even tested it with only returning “foo” and it still doesn’t work. What could be another reason for that?

Sorry to bother you again, but I’m still getting kicked out of the panel frequently. Any more ideas on how to fix that?

Do you have one or more installations on the same domain or localhost? I’m often logged out when I’m switching between two (or more) installations or between a beta version and a live version on the same domain. In that case it might be a collision between the sessions, it’s my guess.

If it’s not that, make sure that debug is true if you use the snippet above. On localhost I never use IP as fingerprint, I always use like hello. But on a live server you should probably be more careful.

Thanks for the reply, @jenstornell. I have only one Kirby installation on that domain. I’ve also tested the snippet with just “foo” and without the debug if clause, still no luck :frowning: I’ve run out of ideas by now.

I’m on 2.3.2. was there any solution to this. I’ve been getting this for a while but have just been tolerating it.

@tradedemon Setting the session fingerprint is not available on 2.3.2, but on 2.4 only.

Ok sorry so that means the problem shouldn’t exist for me ? or that I can’t resolve it.

It doesn’t seem to happen on our development server only on my vagrant development setup.

Thanks

No, the fact that you are kicked out of a session can have several reasons.

The fingerprint may or may not be a solution; in another thread re a Mediatemple hosting plan, setting a different /tmp folder via the php.ini solved the issue.

I’m not familiar with Vagrant, therefore I can’t really help you with this issue.

If you want to try the fingerprint solution, you would have to update to Kirby 2.4. But as I said, it may not help depending on the cause of the problem.

could be a reson as well… why do php sessions end after 30 min on ubuntu no matter php ini setting? because of disabled garbage collection and a cron job. read more about it here:

That’s an interesting read.
Defo made me think about starting to use redis for stuff