Верстка сайта с нуля

Верстка сайта с нуля

Видеокурс "Создание движка на PHP и MySQL 2.0" научит Вас создавать профессиональные движки для сайтов на PHP и MySQL с использованием ООП и паттерна MVC. В курсе разобрана вся теория по структуре движка: как всё устроено, какие должны быть объекты, какая у них иерархия и как они взаимодействуют между собой. В практической части будет создан движок с чистого листа. Будет создано ядро, все адаптеры, все вспомогательные классы, а также классы для работы с объектами базы данных. И чтобы курс был максимально полезным, будет создан движок для сайта MyRusakov.ru. Аналогично Вы сможете создать движок для абсолютно любого сайта. Данный курс идеально подходит тем, кто уже более-менее знает PHP, но ещё не умеет создавать действительно качественные и сложные по функционалу сайты.

Подробнее

Уроки и статьи

Новинка

Инструкция заработка на создании сайтов под заказ

javascript-cover

Получите бесплатную пошаговую инструкция с подробными видеокомментариями по тому, как с нуля за 3 месяца выйти на доход в 25 000 рублей/месяц, делая сайты на заказ


Для получение этого курса, пожалуйста, заполните форму снизу!

Имя:

e-mail:

Другие курсы

Яндекс-директ

Василий Кулик PHP - PHP основы

MD5 хэширование в PHP


    В этой статье речь пойдет об MD5-хэширования, так как тема очень простая, но и в свою очередь Вам ее нужно знать. Давайте сначала разберемся, что такое MD5-хэширования в PHP. Для-хэширования, была создана функция, которая называется md5(). Данная функция принимает всего один параметр, это строку, которую нужно захешировать, а затем, возвращает строку в виде md5-хэша. Теперь поговорим о том, почему нужно пароли хэшировать. Когда Вы разрабатываете свой скрипт, например, который регистрирует пользователей, то перед тем, чтобы записать пароль в базу данных, его нужно захэшировать. Многие подумают, зачем его хешировать, но я скажу, хэшировать его нужно для безопасности. Вот когда злоумышленник Вашу базы данных скомпрометирует, он сможет прочитать пароли всех зарегистрированых пользователей. Поэтому, нужно всегда хэшировать пароли, чтобы его не смогли прочитать. Теперь, давайте разберем, как эта функция работает. Для этого напишем код, который будет хэшировать строку:


$str = "password";
echo md5($str);


    После работы данного скрипта, Вы увидите md5-хэш.


    Теперь, для закрепления, давайте напишем простой скрипт для проверки логина и пароля:


$login = "admin";
$password = "48103dfd58720bd5ff35c102065a52d7";//В реальности, берется из базы данных
if (($_GET['login'] == $login) && (md5($_GET['password']) == $password)) echo "Привет, Admin!";
else echo "Вы ввели неверные данные!";


    Прошов по данной ссылке: "http://Путь_к_Вашему_скрипту.php?login=admin&password=48103dfd58720bd5ff35c102065a52d7", то Вы увидите приветствие "Привет, Admin!". Разумеется, если изменить данные в GET-запросе, то Вы увидите сообщение "Вы ввели неверные данные!"


    Теперь о свойствах MD5-хэширования.


        1. MD5-хэш всегда содержит 32 символа

        2. MD5-хэш уникален для каждой строки

        3. Процесс MD5-хэширования необратим

        3. Процесс MD5-хэширования достаточно медлителен


    Третий пункт самый важный, так как если бы он был обратим, то смысл хэширования практически бы отсутствовал. Согласитесь все-таки, было бы глупо шифровать пароли, если их можно было бы расшифровать.


    На будущее: никогда не надо хранить пароли в открытом виде, а нужно их отправлять в базу данных в виде MD5-хэша и сравнивайте хэши паролей, а не сами пароли.


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



Создано: 2014-01-17 19:37:03


Предыдущая статья

Вернуться на страницу со списками статей

Следующая статья




Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/wasiliykulik. Если Вы хотите дать оценку мне и моей работе, то напишите её на стене моего аккаунта.

Если Вы не хотите пропустить новые материалы на сайте, то Вы можете подписаться на обновления: Подписаться на обновления



Если у Вас остались вопросы по етой статьи, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу етой страницы.



Порекомендуйте эту статью друзьям:


Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

1. Текстовая ссылка:

Она выглядит вот так: Как создать свой сайт



Для добавление коментариев Войдите в систему
Если Вы ещё не зарегистрированы то сначала зарегистрируйтесь

Комментарии:(7)

 

Вадим

Здравствуйте! Мне понравилась Ваша статья и у меня остался к Вам вопрос. Скажите пожалуйста, можно ли использовать хэш, чтобы захэшировать ключ для восстановления пароля пользователя? Заранее спасибо)))
Добавлен:2014-01-17 - 13:29:15
 

Василий Кулик

Да, можно!
Добавлен:2014-01-17 - 13:32:47
 

Вадим

Спасибо за ответ...
Добавлен:2014-01-17 - 13:37:17
 

Влад девелопер

Вот если хешировать пароли при регистрации на сайте то они попадают в базу пользователей. Но как сделать восстановление пароля, если он уже был отправлен туда захэшированым в виде хэша.
Добавлен:2015-05-05 - 00:05:38
 

Василий Кулик

Так при восстановлении забытого пароля сделайте генерацию нового и отправьте его на почту пользователя. Это простой способ восстановить пароль. Есть лучше способ, но по сложнее. Сгенерировать при восстановлении пароля ссылку и отправить ее на почту, на которую пользователь регал акк. и в качестве ключа поставить забытый пароль. Ключ послужит для того, чтобы его не подобрали. Всё просто.
Добавлен:2015-05-06 - 15:01:18
 

Супер вандам

Я вот сделал регистрацию юзеров в файле. Ну все данные хранятся в файле текстовом. Но при регистрации а потом авторизации они неравны. Я уже проверил пару раз, то регистрируется один пользователь и у него хэш есть, а потом при авторизации они меняются. Я не знаю, что это может быть. Уже переписал снова весь скрипт и ничего. Что-то тут странное есть, но я не пойму что.
Добавлен:2015-05-06 - 15:44:19
 

Максим

Лично я не понял, о чём идет речь. Но сатейка была крутая и полезная. Всё доступно и понятно. В понимании сложности нет. Мои благодарности. Да что это за ники ?
Добавлен:2015-05-06 - 16:03:54