Re: Identifying a user who previously created a profile

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

 



Jacques wrote:
> How can I ensure that a user is prevented from creating a second profile
> after he has registered a second time with different registration details?

You can't.

Not totally.

You could send them a Cookie, and hope they're not smart enough to delete
it before they re-register.

You could ask them for a valid email address, and require them to get an
email from you at that address before moving forward, but with free email
all over, that's not much help.

You can prevent wide-spread scripted abuse by requiring them to identify a
random set of characters in an image, possibly semi-obscured by "noise" in
the image background.  I don't think any of the scammers have glued in a
usable OCR yet to defeat that, though it may only be a matter of time...

I guess part of the answer really depends on how Serious you need to be
about this:  Are you just trying to avoid people making the mistake of
coming back a year later and re-registering without realizing they are
already registered?  Or are you trying to build an election system for
your government?  Somewhere between the two?

What seems like a simple idea -- uniquely identifying the user -- is
actually IMPOSSIBLE to be 100% sure, and downright difficult to even make
a valiant attempt at it.

> I thought of capturing his IP Address and checking this value against my
> users table in my database where I have captured IP Addresses of users who
> have previously registered.

Forget that.

AOL users will change their IP address more often than drummers change
their underwear -- sometimes mid-session.

And a large corporation like IBM will have everybody in one location
behind a firewall with a single IP address.

IP address is absolutely useless for user identification, authenticate,
or, well, much of anything really.

You could maybe maybe maybe find IP address useful as one of a whole bunch
of "indicators" in a rather complex system calculating the probability
that user X is the same as user Y, using (some of):

IP address
Browser headers sent (only some, though, as some change over time)
Cookies (can be forged)
Require an email (again, easy to defeat by itself)
Visual I/O [see above] (stops automated registration)

Actually, you could require half of a two-way encrypted key-pair, or a
"digital signature," but your average user is not gonna have any clue how
to do that...  And that won't stop them from making two key-pairs, but at
least when you get the digitally signed token, you know they are who they
say they are, assuming the original didn't lose their key.

-- 
Like Music?
http://l-i-e.com/artists.htm

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[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