Loading...
PHP_SELF (10.03.2019 в 22:22)
Cezarionis , как их можно своровать?и как можно от этого защититься

через XSS
Фильровать входящие и выходящие данные.
[xrystalll] (10.03.2019 в 22:36)
Cezarionis , не загружай мальчику мозг. Он не знает как картинку во всю ширину растянуть, а ты ему про xss втираешь *heh*

лучше уж про картинку не знать, но знать про XSS нужно
[xrystalll] , ахахахахха
Автор темы корчит из себя тру кодера.
На деле - мд5 необратим
Todge (08.03.2019 в 11:16)
Я вот смотрю и удивляюсь кодерам, почему вы используете всякую дрянь для хеша паролей? Поймите простую вещь, в данный момент существует куча радужных таблиц и хранить пароли в 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

Кому ты тут это рассказываешь? Тут ток пару десяток слышали о паттернах и один десяток их знают и применяют..
Artemka , тёзка, а при чём тут паттерны и пару десятков которых ты пересчитал на пальцах :-D
PhpStorm (11.03.2019 в 00:46)
Artemka , тёзка, а при чём тут паттерны и пару десятков которых ты пересчитал на пальцах :-D

Я о том, что кому надо тот и так это всё знает и развивается, а не пишет колхозы, или что там ныне популярно.
________
посл. ред. 11.03.2019 в 00:56; всего 1 раз(а); by Artemka
Artemka (11.03.2019 в 00:52)
PhpStorm (11.03.2019 в 00:46)
Artemka , тёзка, а при чём тут паттерны и пару десятков которых ты пересчитал на пальцах :-D

Я о том, что кому надо тот и так это всё знает и развивается, а не пишет колхозы, или что там ныне популярно.


тёзка остынь все когда-то начинали
Онлайн: 2
Время:
Gen. 0.1165
(c) Bym.Guru 2010-2026