Re: module and access rights

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I already started to use SSL, but i do not understand how to keep it
running.

I mean after user has been authenticated and authorized to go further, all
next web pages are opened using PHP location(https://...); command.
however, it does not certify that it can not be faked by just typing into
browser address bar https://another_webpage.php

for example :
1.my login page is called "index.php" and it is accessible only by https. if
user type http://../index.php, the index.php redirect itself to
https://.../index.php.
2. user type logon and password.
3. application control it with information stored into DB and authorize user
to go further, so a session is created and user is redirected to
https://.../welcome.php

what avoid hacker to directly type https://.../welcome.php ?
how to be sure that it works correctly as in my example ?

thanks a lot,

Al.

On 3/4/07, Stut <stuttle@xxxxxxxxx> wrote:

Tijnema ! wrote:
> On 3/4/07, Stut <stuttle@xxxxxxxxx> 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@xxxxxxxxx> 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@xxxxxxxxx> wrote:
>> >> >
>> >> > On 3/4/07, Stut <stuttle@xxxxxxxxx> 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
>> >>
>> >
>>
>>
>

--
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

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux