زمان لاگین :
1. ایجاد یک کد تصادفی
$characters = array(
"A","B","C","D","E","F","G","H","J","K","L","M",
"N","P","Q","R","S","T","U","V","W","X","Y","Z",
"1","2","3","4","5","6","7","8","9");
$keys = array();
while(count($keys) < 15) {
$x = mt_rand(0, count($characters)-1);
if(!in_array($x, $keys)) {
$keys[] = $x;
}
}
foreach($keys as $key){
$random_chars .= $characters[$key];
}
2. ست کردن سه کوکی user,pass,code
setcookie('code', $random_chars, REMEMBER_TIME);
setcookie('user', md5($_POST['username']
. $random_chars
), REMEMBER_TIME);
setcookie('pass', sha1(md5($_POST['password'] . 'salt1') . $random_chars), REMEMBER_TIME);
3. ثبت IP کاربر لاگین کرده در یه فیلد در ردیف همون کاربر
زمان بازگشت کاربر به سایت :
1. بررسی وجود و صحیح بودن رمز عبور مربوط به این نام کاربری
if (isset($_COOKIE['pass'] &&
$_COOKIE['pass'] == sha1($databasePassword . $_COOKIE['code'])) {
$this->user->login();
}
2. بررسی IP کاربر
if ($allTheAboveChecks &&
$_SERVER['REMOTE_ADDR'] == $ipInDatabase) {
$this->user->login();
}