Авторизация mysql на php: Авторизация на PHP+MySQL

Скрипт простой авторизации без MySQL

Rent VPS server

Сновым годом господа !!!

Печать
RSS


1шаг
Для начала рассмотрим 1 вариант, – это однотипный логин и пароль.
Открываем блокнот, копируем и вставляем указанный ниже скрипт в блокнот.
<?
$login_user=“admin”;
$password_user=“admin”;
$login=$POST[‘login’];
$password=$POST[‘password’];
if( ($login_user == $login) and ($password_user == $password) )
{
echo “Добро пожаловать”;
}
else
{
echo “Не правильный логин или пароль”;
}
?>
Далее нажимаем “Файл”, выбираем “Сохранить как…”
Вылезет окно. Пишем в поле имя файла “registr.php”.
Ставим кодировку “UTF-8” (необязательно)
Сохраняем.
Копируем следующий скрипт:
<html>
<head><title>Авторизация</title></head>
<body>
<form method=»POST» action=»registr.php»>
<table border=»1″>
<tr><td>Логин</td><td><input type=»text» name=»login»></td></tr>
<tr><td>Пароль</td><td><input type=»password» name=»password»></td></tr>
<tr><td><input type=»Submit» value=»Вход»></td><td></td></tr>
</table> </form> </body> </html>
Сохраняем с названием “index. html”.
Скрипт готов для использования.
2 шаг
2)Авторизация с мини базой данных.
Копируем и сохраняем в блокнот PHP скрипт. Имя скрипта “registr.php”.
<?
//мини база данных
$login_user=“admin”;
$password_user=“admin”;
$login_user1=“admin2”;
$password_user1=“admin2”;
$login_user2=“admin3”;
$password_user2=“admin3”;
//конец мини базы данных
//операция обробатывания полученных информации от пользователя
$login=$POST[‘login’];
$password=$POST[‘password’];
if
(
($login_user == $login) and ($password_user == $password)
or
($login_user1 == $login) and ($password_user1 == $password)
or
($login_user2 == $login) and ($password_user2 == $password)
)
{
echo “Добро пожаловать”;
}
else
{
echo “Не правильный логин или пароль”;
}
?>
Надеюсь ничего сложно здесь нету.
index.html такой же как и у 1 варианта авторизации.
Скрипт готов для использования.
3 шаг
Предупреждения:
PHP скрипты не будут работать от простого браузера.
Для того что бы проверить работоспособность скриптов авторизации, вам нужно либо залить на платный хостинг с поддержкой PHP, а самый просто способ это скачать denwer, или Easy PHP.
Решайте сами, всем хорошего настроения, на этом все…Пока

Добавил: Дмитрий02.08.2012 / 22:52

авторизация, скрипт

Рейтинг:
+1

Просмотры: 8881
Комментарии (3)
»

PHP с ошибкой MySQL 8.0+: сервер запросил метод аутентификации, неизвестный клиенту

спросил

Изменено
11 дней назад

Просмотрено
377 тысяч раз

Я использую MySQL версии 8 на PHP 7.0.

Я получаю следующую ошибку, когда пытаюсь подключиться к моей базе данных из PHP:

Ошибка подключения: SQLSTATE[HY000] [2054] Сервер запросил метод проверки подлинности, неизвестный клиенту

PHP может показывать эту ошибку

Предупреждение: mysqli_connect(): сервер запросил метод аутентификации, неизвестный клиенту [caching_sha2_password] в D:\xampp\htdocs\reg\server. php в строке 10

Как решить эту проблему?

  • PHP
  • MySQL
  • MySQL-8.0

2

@mohammed, это обычно связано с плагином аутентификации, который использует ваша база данных mysql.

По умолчанию и по какой-то причине плагином по умолчанию для mysql 8 является auth_socket. Приложения в большинстве случаев ожидают входа в вашу базу данных с использованием пароля .

Если вы еще не изменили свой подключаемый модуль аутентификации mysql по умолчанию, вы можете сделать это следующим образом:
1. Войдите в систему как root в mysql
2. Запустите эту команду sql:

 ALTER USER 'root'@'localhost' IDENTIFIED С mysql_native_password
ПО 'паролю';
 

Замените «пароль» своим корневым паролем. Если ваше приложение не входит в вашу базу данных с пользователем root, замените пользователя root в приведенной выше команде на пользователя, который использует ваше приложение.

Digital Ocean подробнее рассказывает об этом здесь Установка Mysql

8

Вы должны изменить настройки MySQL.
Отредактируйте файл my.cnf и поместите этот параметр в раздел mysqld:

 [mysqld]
default_authentication_plugin = mysql_native_password
 

Затем выполните следующую команду:

 FLUSH PRIVILEGES;
 

Приведенная выше команда введет в действие изменения механизма аутентификации по умолчанию.

10

Я пробовал много других решений, но мне помогло только это.

Спасибо за обходной путь.

Проверьте свой .env

 MYSQL_VERSION=последняя
 

Затем введите эту команду

 $ docker-compose exec mysql bash
$ mysql -u корень -p
 

(вход в систему как root)

 ИЗМЕНИТЬ ПОЛЬЗОВАТЕЛЯ 'root'@'localhost' ИДЕНТИФИЦИРОВАННЫЙ С помощью mysql_native_password BY 'root';
ИЗМЕНИТЬ ПОЛЬЗОВАТЕЛЯ 'root'@'%' ИДЕНТИФИЦИРОВАННОГО С mysql_native_password BY 'root';
ИЗМЕНИТЬ ПОЛЬЗОВАТЕЛЯ «по умолчанию» @ «%» ИДЕНТИФИКАЦИЯ С mysql_native_password BY «секрет»;
 

Затем перейдите в phpmyadmin и войдите как:

  • хост -> mysql
  • пользователь -> корень
  • пароль -> корень

11

Ни один из ответов здесь мне не помог. Что мне нужно было сделать, так это:

  1. Повторно запустить программу установки.
  2. Выберите быстрое действие «перенастроить» рядом с продуктом «MySQL Server»
  3. Просмотрите параметры, пока не дойдете до метода аутентификации и выберите «Использовать устаревший метод аутентификации»

После этого работает нормально.

2

Столкнувшись с той же проблемой, я не смог запустить док-контейнер wordpress с mysql версии 8, так как его механизм аутентификации по умолчанию — caching_sha2_password вместо mysql_native_password.

Чтобы решить эту проблему, мы должны сбросить механизм аутентификации по умолчанию на mysql_native_password.

Найдите файл my.cnf в вашей установке mysql, обычно на Linux-машине он находится в следующем месте — /etc/mysql

Отредактируйте файл my.cnf и добавьте следующую строку под заголовком [mysqld]

default_authentication_plugin= mysql_native_password

Сохраните файл, затем войдите в командную строку mysql под пользователем root

выполните команду FLUSH PRIVILEGES;

1

Я использую Laravel Lumen для создания небольшого приложения.
Для меня это произошло потому, что в моем файле .env не было определено DB_USERNAME.

 DB_USERNAME=корень
 

Эта установка решила мою проблему.

В файле my.cnf проверьте ниже 2 шага.

2

 настройки -> mysql -> инициализировать базу данных -> использовать устаревшее шифрование пароля (вместо надежного) -> введен тот же пароль
 

как мой файл config.inc.php , перезапустил сервер apache, и он заработал. Я все еще относился к этому с подозрением, поэтому остановил сервер apache и mysql и снова запустил их, и теперь он работает.

0

Курс веб-разработки PHP и MySQL — uCertify

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

Вот что вы получите

Уроки

TestPrep

LiveLab

  • 60+ LiveLab

  • 60+ видеоуроков

  • 01:20+ часов

Вот что вы узнаете

Скачать план курса

Практические занятия (живые лаборатории)
  • Создание формы
  • Объявление констант
  • Использование арифметических операторов
  • Объединение строк
  • Использование тернарного оператора
  • Использование оператора ввода
  • Создание формы вывода
  • Использование оператора if
  • Использование оператора if-else
  • .