Ben şimdi 2 gece için oturum açma komut için bir otomatik oturum açma özelliğini yapmaya çalışıyorum.
Ben MD5 ile karma kullanıcıların IP adresini saklamak hangi session_key
varchar (255) olarak adlandırılan benim kullanıcıların tablodaki bir alan var.
Çerez ayarlandığında eğer bir formu çıkacak olursa, oturum değişkenleri ayarlanır ve olacaktır.
Onlar giriş ve onlar adında bir onay kutusunu kontrol varsa autologin
depolamak zaman kendi MD5 alanında IP adresi karma session_key
.
Onların tarayıcıyı kapatmak ve geri gelmek Şimdi, eğer ben onların çerez veritabanında session_key eşit olduğunu kontrol edin.
This is the messy code! I didn't think it would be this hard to implement an auto-login function...
session_start();
// see if the auto-login cookie exists, if so set sessions vars
if (isset($_COOKIE['autologin'])) {
$user=mysql_query("select * from users where session_key = $_COOKIE[autologin]");
$row3=mysql_fetch_assoc($user);
if ($_COOKIE['autologin'] == $row3['session_key']) {
$_SESSION['id'] = $row3['id'];
header("Location: login.php");
}
}
// User pressed "Login"
if (count($_POST)) {
$result = mysql_query("SELECT id FROM users
WHERE username = '".mysql_real_escape_string($_POST['username'])."'
AND password = '".mysql_real_escape_string($_POST['password'])."' ");
if (mysql_num_rows($result) == 0) {
$error = '<script>alert("Wrong username and/or password.\nTry again.") </script>';
} else {
$_SESSION['id'] = mysql_result($result, 0, 'id');
header("Location: login.php");
mysql_query("UPDATE users SET session_key = '".md5($_SERVER['REMOTE_ADDR'])."'");
setcookie("autologin", md5($_SERVER['REMOTE_ADDR']), time()+3600);
}
}
if (isset($_SESSION['id'])) {
exit('You are logged in!');
}
<form method="post">
<tr>
<td valign="top" width="95px"><b>Username:</b></td>
<td><input type="text" name="username" size="22" /></td>
</tr>
<tr>
<td valign="top"><b>Password:</b></td>
<td><input type="password" name="password" size="22" /></td>
</tr>
<tr>
<td valign="top"><b>Auto-login:</b></td>
<td><input type="checkbox" name="autologin" /></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="Login" /></td>
</tr>
</form>
Bu bile güvenli midir? Çerezleri işlemek için kolay mı?
Afaik youtube sporları bu işlevi - Bunu nasıl yaparsınız?
Ben, işe bu alınamıyor birisi bana yardımcı olabilir?