Цитата (AllesKlar @ 17.06.2015 - 15:42) |
Соль хранят в базе, у каждого юзера она своя, генерится в момент регистрации юзера или смены пароля |
Цитата (maximka787 @ 17.06.2015 - 18:07) | ||
Если не ошибаюсь, если злодей попадает в БД, увидит пароли даже с фиксированной простой солью, все равно уже не подобрать ни по одному словарю? Добавь к цифре 1 букву а, и получишь совсем другой хэш. и я не знаю как надо извратиться, что снова получить цифру 1, даже зная соль. Или я чего-то не так понимаю? |
Цитата (AllesKlar @ 17.06.2015 - 16:56) |
А параноя... это пройдет с возрастом, через это все прошли :) Как только понимаешь, что никому, кроме школоло-хулиганья, твой сайт не нужен, ставишь защиту от школоло и спишь спокойно. |
if(!empty($_COOKIE['id']) && !empty($_COOKIE['key']))
{
$query = "SELECT * FROM `cookies` WHERE `user` = '".intval($_COOKIE['id'])."' AND `key` = '".mysql_real_escape_string($_COOKIE['key'])."' AND `ip` = '".mysql_real_escape_string($_SERVER['REMOTE_ADDR'])."' LIMIT 1";
$result = mysql_query($query);
if(mysql_num_rows($result) == 1)
{
echo 'PROFILE ZONE';
exit;
}
else
{
setcookie('id',''); //удадяем куки на всякий случай
setcookie('key',''); //удадяем куки на всякий случай
}
}
$_POST['email'] = 'max@max.ru';
$_POST['pass'] = '123456';
//login
if(isset($_POST['email'], $_POST['pass']))
{
//$pass = sha1('solt1'.$_POST['pass'].'solt2');
$pass = sha1($_POST['pass']);
$query = "SELECT * FROM `users` WHERE `email` = '".mysql_real_escape_string($_POST['email'])."' AND `pass` = '".mysql_real_escape_string($pass)."' LIMIT 1";
$result = mysql_query($query);
if(mysql_num_rows($result) == 1)
{
$key = sha1(md5(rand(1,99999))); //Генерируем случайный ключ
$row = mysql_fetch_array($result);
$life = time() + (3600 * 24);
setcookie('id', $row['id'], $life);
setcookie('key', $key, $life);
$queryINSERT = "INSERT INTO `cookies` (`user`,`key`,`ip`) VALUES ('".intval($row['id'])."', '".mysql_real_escape_string($key)."', '".mysql_real_escape_string($_SERVER['REMOTE_ADDR'])."')";
mysql_query($queryINSERT);
header('location /');
exit;
}
else
{
setcookie('id',''); //удадяем куки на всякий случай
setcookie('key',''); //удадяем куки на всякий случай
}
}