Re: module and access rights
| From: | Stut | 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: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? -StutTijnema ! wrote:Give your server a unique ID, and add that to your check string letssayso 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. -StutIt 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.
On 3/4/07, Alain Roger <raf.news@gmail.com> wrote:hackedOk, 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 whorequestthe 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 DBOn 3/4/07, Stut <stuttle@gmail.com> wrote:user does...but a sessionID can be easily fake. So what should I do ? Al. On 3/4/07, Tijnema ! <tijnema@gmail.com> wrote:Alain Roger wrote:application.I would like to implement a module access rights in my webhas aBasically after authentication and authorization. Logged userpart of theparticular profile which allow him to have access to somewebconfusedapplication. after reading the security guide from *php*sec.org webpage, i'menough toregarding how to store user login and password. I mean the encrypted password stored in database is compared toencryptedpassword 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 securedtostore 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 accessapassword.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 theSimply store the username or other user details (but not thepassword)in the session - that's as secure as it's gonna get. *Never* store a password in a cookie. *Ever*. -StutThat'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,even more secure isn't possible. Tijnema --butPHP 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