title: Unique web browser identification ID for web control panel logins in Perl
body: <p>Do web browsers have a unique ID that can be passed on to Perl scripts? (Like a unique serial - like products that you buy in the shop have for example) </p>
  
  <p>For instance: If I install a web browser, can this web browser provide a unique identifying ID to a PHP or Perl script?</p>
  
  <p>The reason I'm looking for something unique is to do the following:</p>
  
  <ol>
  <li><p>I have a user database with user names and passwords.</p></li>
  <li><p>The user names / passwords are encrypted and set as cookies to the web browsers of users so that users can log in and out into my web application. (Each web page loaded when logged-in looks at the cookies and grants access if the cookie user/pass is correct)</p></li>
  <li><p>If a hacker manages to steal the encrypted user name and password cookie from a user he will be able to log in with that stolen encrypted details.</p></li>
  </ol>
  
  <p>If the browsers of users all had unique IDs to pass on then I could record those IDs and match them each time a user uses his encrypted user/pass cookie. This way if the unique ID does not match (what has been recorded previously) then the user is logged out and asked to manually log in again.</p>
  
  <p>In the event where the encrypted user/pass is stolen the hacker won't be able to get in with it because unique browser ID's won't match. The user/pass cookie is encrypted and the hacker cannot see the user name or password. When the unique browser recorded ID's don't match the web application will ask the user to login manually and the hacker won't be able to login manually because the user/pass he stole is encrypted.</p>
  
  <hr>
  
  <p>Using IP addresses is a possible solution but a poor solution because many if not most ISP's assign dynamic IPs to the internet connections of their clients.</p>
  
  <p>Using time is also not a good solution because I would like the users to stay logged in on the same computer for weeks at a time (if they chose so) to make it convenient.</p>
  
  <hr>
  
  <p>Anybody have any solutions to the above scenario?</p>
  
  <p>I've been searching for a way to get something unique from browsers but this does not seem possible. Is it possible or not?</p>