Re: module and access rights

From: Date: Sun, 04 Mar 2007 20:38:04 +0000
Subject: Re: module and access rights
References: 1 2 3 4 5 6 7  Groups: php.general 
Request: Send a blank email to php-general+get-249827@lists.php.net to get a copy of this message
Tijnema ! wrote:
On 3/4/07, Stut <stuttle@gmail.com> wrote:
Tijnema ! wrote:
Give your server a unique ID, and add that to your check string lets
say
so you store in your cookie the username and the check string. example $user = "tijnema"; $server_unique_key = "w#$#%#54dfa4vf4w5$2!@@$<w#$%23%25%2354dfa4vf4w5$2!@@$> "; $check_string = md5($server_unique_key.$user.$server_unqie_key); and check that each time the user does an action.
How, exactly, is that any more secure than a standard session identifier? While it's good to worry about security, adding pointless activity such as this to every request is not going to help. Anything you do is going to involve some piece of data being transferred from client to server, and can therefore be faked/shared by the client. Get over it. -Stut
It is ofcourse possible to share it to another client, but when combining this with the IP address. This means it can only be used in the same LAN. To get to the point, using this means you cannot simply fake the username in the cookie, which is possible else. session identifiers can be faked too.
As I said in another email, you *cannot* use the IP address for any verification without causing usability issues. It is perfectly legitimate for sequential requests from any given user to come from different IP addresses. The biggest user of systems like this is AOL, and that's a fairly large user base you may want to avoid annoying by insisting that they login for every other request. In short, this issue has been discussed to death, not only by the PHP community but also by the web community at large. If you're really paranoid, use SSL to secure all data transferred, but just accept that it's possible that a session may be hijacked. However, unless you're a bank, is anyone really going to bother? -Stut
On 3/4/07, Alain Roger <raf.news@gmail.com> wrote:
Ok, but i would be very glad to know how can i REALLY authenticate the user. for example, user is logged, so i have in the cookie his login name. how can i be sure that it's the same user and not some hacker who
hacked
the cookie and the session ? what should be checked and where those data should be stored ? because i can store in DB the sessionID, and check it to every DB
request
user does...but a sessionID can be easily fake. So what should I do ? Al. On 3/4/07, Tijnema ! <tijnema@gmail.com> wrote:
On 3/4/07, Stut <stuttle@gmail.com> wrote:
Alain Roger wrote:
I would like to implement a module access rights in my web
application.
Basically after authentication and authorization. Logged user
has a
particular profile which allow him to have access to some
part of the
web
application. after reading the security guide from *php*sec.org webpage, i'm
confused
regarding how to store user login and password. I mean the encrypted password stored in database is compared to
encrypted
password that user type. But where to store login and password once user is logged ? when i read the security guide it seems that it is not secured
enough to
store them in cookies or in sessions data... both can be hacked... So what is the best solution ? i will use those stored data to check if logged user can have access
to
a
particular part of the web application. What is your point of view in such domain ?
Ok, once the user has logged in there is no need to store the
password.
Simply store the username or other user details (but not the
password)
in the session - that's as secure as it's gonna get. *Never* store a password in a cookie. *Ever*. -Stut
That's right, never store a password in a cookie or session, maybe a little extra security could be added by locking the cookie to a IP address,
but
even more secure isn't possible. Tijnema --
PHP General Mailing List (http://www.php.net/ ) To unsubscribe, visit: http://www.php.net/unsub.php
-- Alain ------------------------------------ Windows XP SP2 PostgreSQL 8.1.4 Apache 2.0.58 PHP 5


« previous php.general (#249827) next »