Re: Session security
| From: | Stut | Date: | Tue, 29 May 2007 20:33:39 +0000 |
| Subject: | Re: Session security | ||
| References: | 1 2 3 4 5 6 7 8 9 10 11 12 13 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-29897@lists.php.net to get a copy of this message | ||
Robert Cummings wrote:
On Tue, 2007-05-29 at 21:11 +0100, Stut wrote:Sorry, I should be using the term cookie when I mean session ID. It confuses people ;) It doesn't matter where the session ID comes from, the basic point is that you have to trust it or implement some experience-degrading mechanism like client certificates, and even there there are few guarantees. -StutRasmus Lerdorf wrote:You don't have any cookie if the user has cookies disabled. So either you use a policy that enforces the user to enable cookies or you fall back on trans sid in which case, all bets are off since all you have is the PHPSESSID stuck in the URL or form POST.Stanislav Malyshev wrote:I'm still unclear on how you validate that the authentication cookie came from the same client machine as the one the application first sent it to, which was the core of my question. The answer seems to be that you can't do it reliably.Because you don't have full control over the session cookie since it is generated by PHP. For an authentication cookie you want to layer other application-specific checks on top of it.The session store is just a session store. It is not a login/authentication mechanism and thus doesn't have any of the protections you might want to add to that. Therefore a separate authentication cookie is needed that can separate the two conceptsI don't see how it's "therefore". Yes, session is just a storage. But how you derive from it that authentication information can not be stored in this storage and how the separate cookie is helping you in any way make it more secure?