|  | Posted by Justin Koivisto on 01/19/06 22:31 
Pedro Graca wrote:> Bert Bos wrote:
 >> when users are register on our website, their username, encrpyted
 >> password and so on are stored in the mySQL database.
 >>
 >> Many phpbb sites though send an activation mail to the email address
 >> specified by the user. The user then needs to select a link to get his
 >> account activated.
 >>
 >> I would like to implement this process, can anyone tell me how this is done?
 >
 > After the registration data is saved to the database, send them a link
 > to a validate.php script
 >
 >     http://www.example.com/validate.php?code=78Jh5qM0
 >
 > The code in the link could be random and saved to the database.
 > When, later, the user access the script, you search the database for the
 > code and update the record indicating that this particular user has
 > validated.
 >
 >     $sql = "update user_table set validated=1 where code='{$_GET['code']}'";
 >
 > Make sure every (unvalidated) code is unique in the database.
 >
 > Also try to prevent people from validating random accounts by locking
 > out a 'connection' that fails after three (or whatever) attempts.
 
 For some reason, basing something like this with just a single
 credential to the database makes me squirmish. I personally would
 validate by asking for their email (whether it's in the URL or
 what-have-you) and issue a query like this:
 
 select user_id from user_table where user_email = '$escpaed_username'
 and code = '$escaped_code'
 
 If no results were returned, then either the code doesn't match with the
 email, and therefore isn't really an account validation after all...
 
 --
 Justin Koivisto, ZCE - justin@koivi.com
 http://koivi.com
  Navigation: [Reply to this message] |