Hi Craig,

I'm considering something like this

Trigger:  User comes to site for the first time
1.  User requests to be a guest
2.  system creates a guest User with randomness for username and
password, authenticates and logs in the user, also sets a cookie in
the browser with the id of the Guest User.
3.  User has full access to the site, however some features will be
limited.


Trigger:  User returns to site
1.  User requests to be a guest, and expects to see the data created
in the first session
2.  System checks cookie in browser for an ID, if one is found, find a
matching Guest User, auth and login
3.  User continues to us the site

If the user tried to log in as a guest from another computer, they
will, of course, not see they're information.  In fact, they will see
the information that was saved, if a guest was every created on that
machine.  I'm not too worried about that at this point.

I'm just working through when Django saves a cookie, and I think this
will work.

Gene





On Sep 9, 5:54 pm, Craig McClanahan <craig...@gmail.com> wrote:
> On Tue, Sep 8, 2009 at 10:20 PM, ristretto.rb<ristretto...@gmail.com> wrote:
>
> > Hi
>
> > I want to have a guest concept.  You get instant access to my app.
> > There are limits.  But, you will be allowed to come back multiple
> > times before I require you to register.
>
> How do you plan to tell if the guest "came back"?  The only reasonable
> mechanism I can think of is to use a session cookie (you can't rely on
> things like IP address ... like most folks with a home router, all the
> computers in my household will appear to have the same IP address to a
> service we contact, and the same would be true for most business
> situations).  And even if you rely on a session cookie, your
> restrictions are easily bypassed by the user who simply clears their
> cookie cache.
>
> Until you can solve this problem reliably (good luck!), the
> implementation details are not really worth thinking about.  But
> things like using a session cookie are no more or less secure for this
> use case than they are for the usual approach to keep a user logged on
> to a web app, other than the fact that you'd probably need to keep
> your session alive a lot longer.
>
> Craig
>
> PS:  The typical solution I've seen for a "guest" concept is to offer
> only a limited subset of the overall functionality to non-registered
> users, with lots of teasers about "if you would only bother to
> register, you could do FOO and BAR and BAZ!".  Example:  ESPN's web
> site has a bunch of "freely available" stories accessible to anonymous
> users, but the (presumbably) good stuff requires a login.  Figuring
> out the balance point is a challenge -- for me, for example, I'm not a
> fantasy football junkie, so the extra subscribers-only analysis
> doesn't have enough value for me to bother to register (or pay, as the
> case may be).
>
>
>
> > When a user comes in as a guest, I will create a user with a bogus
> > username, password and email, and put  the user_id in the session, so
> > that when the user comes back I can read it and restore saved state.
>
> > I'm mildly concerned that it's unsafe to put the user_id in the
> > session.  I can imagine a hacker faking that somehow, and getting
> > access to other guest accounts.  I'm not sure the risk is that big,
> > and once users register, the risk goes down.  But, I'm wondering if
> > this is at all foolhardy.  Is there a better way to approach this?
>
> > Perhaps a hash key or something that isn't sequentially too
> > guessable.  Or some encryption.
>
> > This guest concept has inherent security issues with shared computers:
> > labs, cafes, etc.  The user will made aware of this when logging in as
> > Guest.  Also there will be no sensitive or private data in this guest
> > account that if seen by another user would make much difference.
>
> > Thanks for any insight
> > Gene
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to