Обучение/Помощь новичкам | Хеш паролей
Тема закрыта by
NESCOKE
DELETED
10 марта 2019, в 22:30
Delete
PHP_SELF (10.03.2019 в 22:22)
Cezarionis , как их можно своровать?и как можно от этого защититься
Cezarionis , как их можно своровать?и как можно от этого защититься
через XSS
Фильровать входящие и выходящие данные.
DELETED
10 марта 2019, в 22:41
Delete
[xrystalll] (10.03.2019 в 22:36)
Cezarionis , не загружай мальчику мозг. Он не знает как картинку во всю ширину растянуть, а ты ему про xss втираешь
Cezarionis , не загружай мальчику мозг. Он не знает как картинку во всю ширину растянуть, а ты ему про xss втираешь
лучше уж про картинку не знать, но знать про XSS нужно
[xrystalll] , ахахахахха
Автор темы корчит из себя тру кодера.
На деле - мд5 необратим
На деле - мд5 необратим
DELETED
11 марта 2019, в 0:41
Delete
Todge (08.03.2019 в 11:16)
Я вот смотрю и удивляюсь кодерам, почему вы используете всякую дрянь для хеша паролей? Поймите простую вещь, в данный момент существует куча радужных таблиц и хранить пароли в md5() (да даже если md5(sha1(md5($password, $solt))) - это полный пи*дец).
Еще с версии php 5.5 появилась функция password_hash() . Работать с ним на столько удобно и безопасно, что было бы глупо не использовать его.
Немного расскажу о password_hash и покажу примеры исполнения.
password_hash() — используется для хэша пароля
password_verify() — используется для проверки пароля на соответствие хэшу
Произвести хеширование пароля, довольно просто:
Вот мы и получили хеш пароля, записали его в бд. Теперь, при авторизации пользователя нам нужно проверить, соответствует ли хеш пароля введенному паролю.
Здесь все ни чуть не сложнее:
Вот и все! спасибо за внимание, полезные ссылки на документацию:
- Все о password_hash()
- Подготовленные запросы mysqli
Я вот смотрю и удивляюсь кодерам, почему вы используете всякую дрянь для хеша паролей? Поймите простую вещь, в данный момент существует куча радужных таблиц и хранить пароли в md5() (да даже если md5(sha1(md5($password, $solt))) - это полный пи*дец).
Еще с версии php 5.5 появилась функция password_hash() . Работать с ним на столько удобно и безопасно, что было бы глупо не использовать его.
Немного расскажу о password_hash и покажу примеры исполнения.
password_hash() — используется для хэша пароля
password_verify() — используется для проверки пароля на соответствие хэшу
Произвести хеширование пароля, довольно просто:
<?Php
// Получаем из формы пароль методом post
$password = $_POST['password'] // даже фильтровать не надо
// PASSWORD_DEFAULT или PASSWORD_BCRYPT - выбор за вами
// PASSWORD_DEFAULT от 60 и более символов в хеше (длинна)
// PASSWORD_BCRYPT длинна хеша ровно 60 символов
$hash = password_hash($password, PASSWORD_DEFAULT);
// Все, мы получили хеш пароля, выглядит он примерно
// Вот так: $2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a
?>
Вот мы и получили хеш пароля, записали его в бд. Теперь, при авторизации пользователя нам нужно проверить, соответствует ли хеш пароля введенному паролю.
Здесь все ни чуть не сложнее:
<?
// Создаем подготовленный запрос (с таким запросом ни каких sql инъекций никогда не будет, запомните это)
$stmt = $db->prepare("SELECT * FROM users WHERE login= ?");
$stmt->bind_param("s", $_POST['login']);
$stmt->execute();
$user = $stmt->get_result()->fetch_assoc();
if ($user && password_verify($_POST['password'], $user['password'])){
echo "Все верно, пароли совпадают, через 5 секунд вас перенаправит на сайт!";
}else{
echo "Увы, но вы ввели не верный пароль";
}
?>
Вот и все! спасибо за внимание, полезные ссылки на документацию:
- Все о password_hash()
- Подготовленные запросы mysqli
Кому ты тут это рассказываешь? Тут ток пару десяток слышали о паттернах и один десяток их знают и применяют..
DELETED
11 марта 2019, в 0:46
Delete
DELETED
11 марта 2019, в 0:52
Delete
PhpStorm (11.03.2019 в 00:46)
Artemka , тёзка, а при чём тут паттерны и пару десятков которых ты пересчитал на пальцах
Artemka , тёзка, а при чём тут паттерны и пару десятков которых ты пересчитал на пальцах
Я о том, что кому надо тот и так это всё знает и развивается, а не пишет колхозы, или что там ныне популярно.
________
посл. ред. 11.03.2019 в 00:56; всего 1 раз(а); by Artemka
DELETED
11 марта 2019, в 1:00
Delete
Artemka (11.03.2019 в 00:52)
PhpStorm (11.03.2019 в 00:46)
Artemka , тёзка, а при чём тут паттерны и пару десятков которых ты пересчитал на пальцах
Я о том, что кому надо тот и так это всё знает и развивается, а не пишет колхозы, или что там ныне популярно.
PhpStorm (11.03.2019 в 00:46)
Artemka , тёзка, а при чём тут паттерны и пару десятков которых ты пересчитал на пальцах
Я о том, что кому надо тот и так это всё знает и развивается, а не пишет колхозы, или что там ныне популярно.
тёзка остынь все когда-то начинали