Запомни пароль, установив cookie - PullRequest
3 голосов
/ 23 мая 2011

На моей странице есть один флажок Запомнить меня. Когда я проверяю это, я хочу сохранить свой пароль в файле cookie браузера. Является ли это возможным? Я предоставил заявление как:

if ($remember=='yes') {
    $this->load->helper('cookie');
    $cookie =array(
        'name'   => 'username',
        'value'  => $username,
        'expire' => '1209600'
    );
    $this->input->set_cookie($cookie);
}

Ответы [ 4 ]

7 голосов
/ 12 июля 2011

Причина, по которой вы никогда не должны хранить незашифрованный пароль в куки, заключается в том, что кража куки в этом случае обеспечит постоянный доступ. Если вы сохраняете хешированную версию, возможно, вы сможете выдать себя за пользователя, если cookie действителен, но у злоумышленника не будет возможности снова войти в систему после того, как этот файл cookie будет признан недействительным.

Короче говоря: никогда не храните текстовую информацию в браузере клиента, всегда используйте (возможно соленые и / или подписанные) хэши как для паролей, так и для имен пользователей.

2 голосов
/ 23 мая 2011
0 голосов
/ 12 июля 2011
    <?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.'; 
} 
?>
0 голосов
/ 23 мая 2011

да, это возможно .. вы можете запомнить свой пароль, установив cookie Смотрите это видео

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...