>True. The fun thing about the recipe is that it produces keys that are
>so unique that they do not need to be checked against a db. That's
>where the performance benefit comes from. And I think not checking
>against a db is the "other context" mentioned in the ticket.

Actually it doesn't. It depends on the used IP - and that doesn't
necessarily be unique, if for example people run servers behind a front
apache inside of the DMZ and use private-range addresses there. To
guarantee uniqueness you wouldn't use IP adresses but would use
namespaces - like domain names with host names where you are sure to
use a domain only you control. And you want to throw in a cryptographic
signature to make sure that nobody can tamper with GUIDs by just using
your domain.

Oh, and due to the added md5 hexdigest the "guaranteed uniqueness"
isn't really realiable. I still remember the days when PGP switched to
an extended key ID format, because the old one produced duplicates, and
I still remember people to produce keys with identical fingerprint.
Actually MD5 nowadays isn't really reliable anyway, so it should be
used at best only for it's good bit-change-spreading behaviour (that's
what it is used for in Django).

>Where do you do session cleanup? Are you using a simple bash/cron job
>or is it something that should be running within django?

Just a simple cronjob with an SQL statement that blows away outdated
sessions.

bye, Georg

Reply via email to