在我的页面中,我有一个记住我复选框。当我检查这个时,我想在浏览器cookie中输入我的密码。可能吗? 我已将声明提供为:
if ($remember=='yes') {
$this->load->helper('cookie');
$cookie =array(
'name' => 'username',
'value' => $username,
'expire' => '1209600'
);
$this->input->set_cookie($cookie);
}
答案 0 :(得分:7)
你永远不应该在cookie中存储未加密的密码的原因是,在这种情况下,cookie盗窃将提供永久访问。如果您存储散列版本,那么只要cookie有效就可以模拟用户,但是一旦该cookie失效,攻击者将无法再次重新登录。
简而言之:永远不要在客户端浏览器中存储纯文本信息,始终使用(可能是盐渍和/或签名)哈希密码和用户名。
答案 1 :(得分:2)
答案 2 :(得分:-1)
<?php
session_start();
if(isset($_COOKIE['Joe2Torials']))
{
$dbHost = 'localhost';
$dbUser = 'root';
$dbPass = '';
$dbname = 'myshop';
$username = $_COOKIE['Joe2Torials']['username'];
$password = $_COOKIE['Joe2Torials']['password'];
$db = mysql_connect($dbHost,$dbUser,$dbPass);
mysql_select_db($dbname,$db);
$query = "SELECT user, pass FROM login WHERE user = '$username' AND pass = '$password'";
$result = mysql_query($query, $db);
if(mysql_num_rows($result))
{
$_SESSION['loggedin'] = 1;
header('Location:admin.php');
exit();
}
}
?>
<form method="post" name="cookie" action="process.php">
<p><label for="username">Username : <input type="text" name="username" id="username" /></label></p>
<p><label for="password">Password : <input type="password" name="password" id="password" /></label></p>
<p><input type="checkbox" name="setcookie" value="setcookie" /> Remember Me</p>
<p><input type="submit" name="submit" value="Submit" /> <input type="reset" name="reset" value="Reset" /></p>
</form>
<?php
if (isset($_GET['error']) AND !empty($_GET['error']))
{
echo 'Invalid login data supplied. Please try again.';
}
?>
答案 3 :(得分:-2)
是的,它是可行的......你可以通过设置cookie
来记住你的密码
See this videos