Сервис для
сео - оптимизаторов

Найди ошибки на сайте
Ошибки мешают продвижению сайта
Исправь ошибки на сайте
Сайт без ошибок продвигать легче
Получи новых клиентов
Новые клиенты принесут больше прибыль

Скрипт генератора паролей PHP

Генератор паролей PHP - это встроенная, работающая функция генерации случайных паролей для PHP. Этот пост посвящен тому, как с помощью PHP генерировать надежный и надежный пароль в Интернете и отправлять его по электронной почте любому, кто забыл свой пароль.

Кроме того, как только пользователь войдет в свою учетную запись с использованием автоматически сгенерированного пароля, ему будет предложено изменить свой пароль в первый раз.

Мы применили функцию sha1 () для шифрования паролей PHP, которое хранит и позволяет только аутентичным пользователям войти в систему и получить доступ к определенной веб-странице.

В нашем примере нашей целью является генерация паролей в PHP:

  • Создание надежного и безопасного случайного пароля для пользователя и отправка его по электронной почте на его адрес электронной почты.
// Генерация пароля $ chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789! @ # $% & * _"; $ password = substr (str_shuffle ($ chars), 0, 8);
  • Пользователь может войти в систему, используя тот же пароль (который был отправлен по электронной почте ранее).
  • Если пользователь забыл свой пароль, то автоматически сгенерированный пароль будет отправлен на его / ее почтовый аккаунт.
// Генерируем новый пароль, как это было сделано в вышеуказанной функции, и обновляем его в базе данных, используя запрос query $ password1 = sha1 ($ password); // Шифрование пароля $ query = mysql_query ("ОБНОВЛЕНИЕ регистрации SET SET password = '$ password1' WHERE email = '$ email'"); if ($ query) {$ to = $ email; $ subject = 'Ваш новый пароль ...'; $ message = 'Привет, пользователь! Ваш новый пароль:'. $ пароль. ' E-mail: '. $ Email.' Теперь вы можете войти с этим адресом электронной почты и паролем. '; / * Отправить сообщение с помощью функции mail () * / if (mail ($ to, $ subject, $ message)) {echo "Новый пароль был отправлен на вашу почту, пожалуйста, проверьте вашу почту и войдите в систему."; }
  • После успешного входа в систему для пользователя будет создан сеанс, после чего пользователь сможет изменить свой автоматически сгенерированный пароль онлайн.
$ _SESSION ['login_user'] = $ email; // Инициализация сеанса с электронной почтой пользователя

Мы также использовали базу данных MySQL для хранения сгенерированного пользователем пароля.

Посмотрите нашу демоверсию или загрузите наш код, чтобы использовать PHP Password Generator.

Полные коды HTML и PHP приведены ниже.

PHP-файл: password_form.php
Ниже приведен наш полный HTML-код для формы входа.

&lt;? php include 'password_generator.php'; ?> <! DOCTYPE html> <html> <head> <title> Генератор паролей PHP </ title> <link href = "css / password.css" rel = "stylesheet"> </ head> <body> <div class = "container"> <div class = "main"> <h2> Генератор паролей PHP </ h2> <form action = "password_form.php" method = "post"> <label class = "heading"> Имя: </ label> <input name = "name" type = "text"> <span class = "error"> &lt;? php echo $ nameError;?> </ span> <label class = "heading"> Электронная почта: </ label> <input name = "email" type = "text"> <span class = "error"> &lt;? php echo $ emailError;?> </ span> <input name = "submit" type = "submit" value = "SignUp "> <span class =" success "> &lt;? php echo $ successMessage;?> </ span> <span class =" success "> &lt;? php echo $ passwordMessage;?> </ span> </ form> <p > <b> Примечание. </ b> Заполните эту форму, и пароль будет отправлен на ваш адрес электронной почты. </ p> <a class="login" href="password_login.php"> Вход </a> </ div > </ div> </ body> </ html>

PHP-файл: password_generator.php

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

&lt;? php // Инициализируем переменные в нуль. $ name = ""; // Имя отправителя $ email = ""; // Идентификатор электронной почты отправителя $ nameError = ""; $ emailError = ""; $ successMessage = ""; $ passwordMessage = ""; // При отправке формы ниже функция будет выполнена if (isset ($ _ POST ['submit'])) {// Проверка нулевых значений в сообщении if (! ($ _ POST ["name"] == "")) {$ name = $ _POST ["name"]; // Проверка только имени содержит буквы и пробелы if (preg_match ("/ ^ [a-zA-Z] * $ /", $ name)) {if (! ($ _ POST ["email"] == "")) {$ email = $ _ POST ["email"]; // Вызов функции для удаления специальных символов из электронной почты // Проверка правильности синтаксиса адреса электронной почты или нет $ email = filter_var ($ email, FILTER_SANITIZE_EMAIL); // Санитаризация электронной почты (удаление неожиданного символа, такого как <,>,?, #,! И т. Д.) If (filter_var ($ email, FILTER_VALIDATE_EMAIL)) {// Генерация пароля $ chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY_0 _ $ $ __23% @ #23_23% @ #23_23% @ #23_23% @ #23_23% @ #23_23% @ #23_23% @ #23_23% @ #23_23% @ #23_23% @ _23% _23 $ _23% @ #23_23% @ _23% _23 $ _23% @ _23% __23% @ _23% @ #23% @ _23% @ _23% @ _23% @_23% @ _23% @ _23% @_01% @ _0101 «; $ password = substr (str_shuffle ($ chars), 0, 8); $ password1 = sha1 ($ пароль); // Шифрование пароля $ connection = mysql_connect ("localhost", "root", ""); // Установка соединения с сервером .. $ db = mysql_select_db ("колледж", $ соединение); // Выбор базы данных $ result = mysql_query ("SELECT * FROM Registration WHERE email = '$ email'"); $ data = mysql_num_rows ($ result); if (($ data) == 0) {// Вставить запрос $ query = mysql_query ("вставить в регистрационные (имя, адрес электронной почты, пароль) значения ('$ name', '$ email', '$ password1')") ; if ($ query) {$ to = $ email; $ subject = 'Ваша регистрация завершена'; / * Давайте подготовим сообщение для электронной почты * / $ message = 'Hello'. $ Name. ' Ваш адрес электронной почты и пароль следующие: E-mail: '. $ Email.' Ваш новый пароль: '. $ Пароль.' Теперь вы можете войти с этим адресом электронной почты и паролем. '; / * Отправить сообщение с помощью функции mail () * / if (mail ($ to, $ subject, $ message)) {$ successMessage = "Пароль был отправлен на вашу почту, проверьте почту и войдите в систему."; }}} else {$ emailError = "Это письмо уже зарегистрировано, пожалуйста, попробуйте другое письмо ..."; }} else {$ emailError = "Invalid Email"; }} else {$ emailError = "Требуется электронная почта"; }} else {$ nameError = "Разрешены только буквы и пробелы"; }} else {$ nameError = "Имя обязательно"; }}?>

PHP-файл: password_login.php
Ниже приведен наш полный HTML-код для формы входа.

&lt;? php include 'login_validation.php'; ?> <! DOCTYPE html> <html> <head> <title> Форма входа в PHP </ title> <link href = "css / password.css" rel = "stylesheet"> </ head> <body> <div class = "container"> <div class = "main"> <h2> Форма входа в PHP </ h2> <form action = "password_login.php" method = "post"> <label class = "heading"> Электронная почта: </ label> <input name = "email" type = "text"> <label class = "heading"> Пароль: </ label> <input name = "password" type = "password"> <input name = "submit" type = "submit" value = "SignIn"> <span class = "error"> &lt;? php echo $ Error;?> </ span> <span class = "success"> &lt;? php echo $ successMessage;?> </ span> </ form> <a class="forgot" href="forgot_password.php"> забыли пароль? </a> <a class="login" href="password_form.php"> SignUp </a> </ div> </ div> </ body> </ html>

PHP-файл: login_validation.php

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

&lt;? php session_start (); // Запуск сеанса $ Error = ""; // Инициализируем переменные в ноль. $ successMessage = ""; if (isset ($ _ POST ['submit'])) {if (! ($ _POST ['email'] == "" && $ _POST ['password'] == "")) {$ email = $ _ POST [ 'Эл. адрес']; // Извлечение значений из URL $ password = sha1 ($ _ POST ['password']); // Шифрование пароля, если хотите, вы также можете оставить sha1 $ email = filter_var ($ email, FILTER_SANITIZE_EMAIL); // Очистка электронной почты (удаление неожиданного символа, такого как <,>,?, #,! И т. Д.) If (filter_var ($ email, FILTER_VALIDATE_EMAIL)) // // Проверка допустимости синтаксиса адреса электронной почты или нет {$ connection = mysql_connect ("localhost", "root", ""); // Установление соединения с сервером .. $ db = mysql_select_db ("College", $ connection); // Выбор базы данных // Сопоставление введенного пользователем адреса электронной почты и пароля с сохраненными адресом электронной почты и паролем в базе данных $ result = mysql_query ("SELECT * FROM Registration WHERE email = '$ email' И пароль = '$ password'"); $ data = mysql_num_rows ($ result); if ($ data == 1) {$ _SESSION ['login_user'] = $ email; // Инициализация заголовка сеанса ('Location: profile.php'); } else {$ Error = "Неверный адрес электронной почты или пароль ... !!!!"; } mysql_close ($ connection); // Соединение закрыто} else {$ Error = "Неверный формат электронной почты .... !!!!"; }} else {$ Error = "E-mail или пароль пуст ... !!!!"; }}?>

PHP-файл: profile.php
Ниже приведен полный HTML-код для страницы профиля пользователя, здесь пользователь может изменить свой пароль.

&lt;? php include 'profile_validation.php'; ?> <! DOCTYPE html> <html> <head> <title> Страница профиля PHP </ title> <link href = "css / password.css" rel = "stylesheet"> </ head> <body> <div class = "container"> <div class = "main"> <h2> Добро пожаловать! <i> &lt;? php echo $ login_session; ?> </ i> </ h2> <form action = "profile.php" method = "post"> <a class="logout" href="logout.php"> SignOut </a> <h3> Теперь вы можно изменить пароль. </ h3> <label> Новый пароль: </ label> <input name = "newpassword" type = "password"> <label> Подтвердите новый пароль: </ label> <input name = "cnewpassword" type = "пароль"> <input name = "submit" type = "submit" value = "Изменить пароль"> <span class = "error"> &lt;? php echo $ Error;?> </ span> <span class = " success "> &lt;? php echo $ successMessage;?> </ span> </ form> </ div> </ body> </ html>

PHP-файл: profile_validation.php

В приведенном ниже сценарии мы проверяем все поля, а затем обновляем поле пароля в базе данных для того же пользователя.

&lt;? php include ('session.php'); $ Error = ""; // Инициализируем переменные в ноль. $ successMessage = ""; if (isset ($ _ POST ['submit'])) {if (! ($ _ POST ['newpassword'] == "" && $ _POST ['cnewpassword'] == "")) {$ newpassword = $ _ POST [ 'новый пароль']; // Извлечение значений из URL $ cnewpassword = $ _ POST ['cnewpassword']; if ($ newpassword == $ cnewpassword) {$ password = sha1 ($ cnewpassword); $ connection = mysql_connect ("localhost", "root", ""); // Установление соединения с сервером .. $ db = mysql_select_db ("College", $ connection); // Выбор базы данных $ query = mysql_query ("ОБНОВЛЕНИЕ регистрации SET SET Password = '$ Password' WHERE password = '$ login_password'"); if ($ query) {$ successMessage = "Пароль успешно изменен."; }} else {$ Error = "Пароль не совпадает ... !!!!"; }} else {$ Error = "Пароль не должен быть пустым .... !!!!"; }}?>

PHP-файл: session.php

В приведенном ниже сценарии пользовательские данные извлекаются из базы данных путем передачи сеанса в SQL-запрос.

&lt;? php // Установка соединения с сервером путем передачи имени_сервера, идентификатора_пользователя и пароля в качестве параметра. $ connection = mysql_connect ("localhost", "root", ""); $ db = mysql_select_db ("колледж", $ connection); // Выбор базы данных session_start (); // Запуск сеанса $ email_check = $ _ SESSION ['login_user']; // Сохранение сессии // SQL-запрос для получения полной информации о пользователе. $ ses_sql = mysql_query ("выберите * из регистрации, где электронная почта = '$ email_check'", $ connection); $ row = mysql_fetch_assoc ($ ses_sql); $ login_session = $ row ['name']; $ login_password = $ row ['password']; if (! isset ($ login_session)) {mysql_close ($ connection); // Закрытие заголовка соединения ('Location: password_login.php'); // Перенаправление на домашнюю страницу}?>

PHP-файл: Forgot_password.php

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

&lt;? php include 'Forgot_password_generate.php'; ?> <! DOCTYPE html> <html> <head> <title> PHP Забыли пароль </ title> <link href = "css / password.css" rel = "stylesheet"> </ head> <body> <div class = "главный контейнер"> <h2> Забыли пароль </ h2> <form action = "Forgot_password.php" method = "post"> <label class = "heading"> Электронная почта: </ label> <input name = "email "type =" text "> <input name =" submit "type =" submit "value =" Повторная отправка пароля "> <span class =" error "> &lt;? php echo $ Error;?> </ span> <span class = "success"> &lt;? php echo $ successMessage;?> </ span> </ form> <p> <b> Примечание. </ b> Введите адрес электронной почты, пароль будет отправлен на ваш адрес электронной почты. </ p > <a class="login" href="password_login.php"> Вход </a> </ div> </ body> </ html>

PHP-файл: Forgot_password_generate.php

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

&lt;? php // Инициализируем переменные в нуль. $ email = ""; // Идентификатор электронной почты отправителя $ Error = ""; $ successMessage = ""; // При отправке формы ниже функция будет выполнена if (isset ($ _ POST ['submit'])) {if (! ($ _ POST ["email"] == "")) {$ email = $ _ POST ["email" ]; // Вызов функции для удаления специальных символов из электронной почты $ email = filter_var ($ email, FILTER_SANITIZE_EMAIL); // Очистка электронной почты (удаление непредвиденных символов, таких как <,>,?, #,! И т. Д.) If (filter_var ($ email, FILTER_VALIDATE_EMAIL)) {$ chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ @ # $ * * * * * * * * * * * * * *% *! // Генерация пароля $ password = substr (str_shuffle ($ chars), 0, 8); $ password1 = sha1 ($ пароль); $ connection = mysql_connect ("localhost", "root", ""); // Установка соединения с сервером .. $ db = mysql_select_db ("колледж", $ соединение); // Выбор базы данных $ query = mysql_query ("ОБНОВЛЕНИЕ регистрации SET SET password = '$ password1' WHERE email = '$ email'"); if ($ query) {$ to = $ email; $ subject = 'Ваш новый пароль ...'; // Давайте подготовим сообщение для электронной почты. $ message = 'Привет, пользователь! Ваш новый пароль:'. $ пароль. ' E-mail: '. $ Email.' Теперь вы можете войти с этим адресом электронной почты и паролем. '; // Отправить сообщение с помощью функции mail (). if (mail ($ to, $ subject, $ message)) {$ successMessage = "Новый пароль был отправлен на вашу почту, пожалуйста, проверьте вашу почту и войдите в систему."; }}} else {$ Error = "Invalid Email"; }} else {$ Error = "Требуется электронная почта"; }}?>

PHP-файл: logout.php

В приведенном ниже сценарии все сеансы будут уничтожены, и пользователь будет перенаправлен на домашнюю страницу, т.е. на страницу login.php .

&lt;? php session_start (); if (session_destroy ()) // Уничтожение всех сеансов {header ("Location: password_login.php"); // Перенаправление на домашнюю страницу}?>

Файл CSS: password.css

Стилизация HTML-элементов.

@import "http://fonts.googleapis.com/css?family=Raleway"; / * Выше строки используется для онлайн-шрифта Google * / h2 {background-color: #FEFFED; отступы: 30px 35px; поле: -10px -50px; выравнивания текста: центр; радиус границы: 10px 10px 0 0} h3 {размер шрифта: 21px; край дно: 40px; цвет: # 000; семейство шрифтов: с засечками} hr {margin: 10px -50px; граница: 0; border-top: 1px solid #ccc; нижнее поле: 40px} p {font-size: 14px} i {color: # 07b300; Вес шрифта: 700} b {цвет: красный; начертание шрифта: 700; размер шрифта: 16px} span {color: red} .forgot {украшение текста: нет; Дисплей: блок; плыть налево; Запас-топ: 5px; Левое поле: 5px; цвет: синий} .logout {оформление текста: нет; красный цвет; цвет фона: # e6e6fa; обивка: 5px 12px; граница: 1px solid # 8a2be2; плавать: право; border-radius: 0 0 0 5px; Запас-топ: -40px; Маржа направо: -50px; Размер шрифта: 12px; font-weight: 700} .login {float: right; выравнивания текста: центр; текст-отделка: нет; цвет: # 000; начертание шрифта: 700; ширина: 25%; обивка: 5px; цвет фона: # f5f5dc; рамка: 1px сплошная серая; пограничный радиус: 5px; контур: нет} .success {цвет: зеленый; Дисплей: блок; font-weight: 700} div.container {ширина: 900px; высота: 610px; маржа: 35px авто; семейство шрифтов: 'Raleway', без засечек} div.main {ширина: 320px; отступы: 10px 50px 25px; рамка: 2px сплошная серая; границы радиус: 10px; семейство шрифтов: raleway; плыть налево; margin-top: 60px} ввод [тип = текст], ввод [тип = пароль] {ширина: 95,7%; высота: 30px; обивка: 5px; край дно: 5px; Запас-топ: 5px; граница: 2px solid #ccc; цвет: # 4f4f4f; Размер шрифта: 16px; border-radius: 5px} метка {цвет: # 464646; тень текста: 0 1px 0 #fff; Размер шрифта: 14px; font-weight: 700} input [type = submit] {padding: 10px; Размер шрифта: 18px; фон: линейный градиент (# ffbc00 5%, # ffdd7f 100%); граница: 1px solid # e5a900; цвет: # 4E4D4B; начертание шрифта: 700; курсор: указатель; ширина: 100%; пограничный радиус: 5px; margin-bottom: 10px} input [type = submit]: hover {фон: линейный градиент (# ffdd7f 5%, # ffbc00 100%)}

Заключение:
Таким образом, вы можете разрешить доступ к ресурсам вашего сайта только аутентичным пользователям. Надеюсь, вам понравится, продолжайте читать наши другие блоги.

Рекомендуемый блог -

Lt;?
Php'; ?
Php echo $ nameError;?
Php echo $ emailError;?
Php echo $ successMessage;?
Php echo $ passwordMessage;?
Lt;?
Даление неожиданного символа, такого как <,>,?
Lt;?