Авторизация php mysql сессии: Авторизация, сессии (php, mysql)? — Хабр Q&A
Содержание
Авторизация, сессии (php, mysql)? — Хабр Q&A
Всё можно подменить, если вы ЭЦП не используете. Если боитесь подбора чужого session ID — то нужно этот самый ID сделать длинным, 64 байта например. Если основные опасения — что у пользователя уведут куки с его session ID, то проверяйте user-agent, разрешение экрана, версию flash.
Ответ написан
Вот кое что нашел, возможно пригодится:
habrahabr.ru/blogs/php/13726/
php.ru/forum/viewtopic.php?t=15658
Ответ написан
Комментировать
>а благодаря таблице sessions не храним в куках пароль.
рыдалЪ
Ответ написан
Все что угодно можно подменить. Советую не быть крайне параноиком в этом плане.
Товарищи выше дают крайне полезный совет. Браузер + IP. В другом браузере все равно заново логиниться, а чтобы проще это распознавать, то используйте хэш. md5([browser].[IP])
Ответ написан
Комментировать
Почему бы не посмотреть как сделано в vbulletin, invision или просто какой-нибудь хорошей CMS? Задача авторизации это реально такой баянистый велосипед… заодно подсмотрите всякие интересные штуки типа индивидуальной соли паролей, логин с запоминанием или без, серверную авторизацию как опцию и http only печеньки и прочее и прочее.
Ответ написан
Привязка по ип, а также сверять, что в базе, и что в самих куках
Ответ написан
Делать сессию с привязкой по данным, снимаемым с пользователя, самое популярное — ip адрес, браузер, куки.
Ответ написан
Комментировать
Можно привязать ее IP.
Вообще, примеров по этому поводу в гуле вагон и маленькая тележка 🙂
Ответ написан
2012, в 20:29″>
более трёх лет назад
По ip привязывать как-то не хочется. А вдруг динамичный ip.
Единственное, сверять user agent браузера. Больше ничего в голову не лезит )
Ответ написан
Комментировать
Лучше всего вам разобраться как например сделаны сессии в том же PHP по умолчанию. Касательно вопроса (session_id хранится в куках, его можно подменить) — а вы делайте этоот session_id из 32-64 букв, знаков и цифр. Подменить-то такой ид можно, но сначала надо его подобрать, а это годы работу суперкомпьюетров.
Ответ написан
Имхо, стоит сначала определиться:
1) будут ли подменять сессию 90% пользователей?
2) будут ли подделывать useragent те же самые 90%?
Если нет — не стоит задачу усложнять 😉 ИМХО.
Ответ написан
Комментировать
Как правильно сделать авторизацию на php?
Например я хочу чтобы пользователь авторизовался в игре и у него открылась сессия. Если он закроет страницу и зайдет на эту страницу через день, то сессия сохранится? Или это надо делать как-то с куки и базой данных?
1
Чтобы у вас работала авторизация, вам нужно где-то хранить имя пользователя и пароль (если быть точнее, то хеш пароля). Это может быть текстовый файл, массив с пользователями в каком-нибудь классе или соответствующая таблица в базе данных. И при входе пользователя искать его по логину и сравнивать хеш введённого пароля с тем, который хранится на сервере. Это в общих чертах.
зайдет на эту страницу через день, то сессия сохранится?
Время жизни сессии настраивается в параметре gc_maxlifetime
в файле php.ini
, но, как правило, запоминание пользователя реализуется через cookie, которому можно указать произвольное время, в течение которого cookie будет действительным.
Вообще ваш вопрос довольно общий, поэтому сложно посоветовать что-то конкретное. Смотрите примеры авторизации в интернете и документацию:
- HTTP cookies,
- работа с сессиями.
Реализовать сессию можно различными способами, но все они подразумевают сохранение определенных данных для сверки (логины, пароли, токены или другие данные, для валидации и сверки самого пользователя и его текущей сессии, или записи новой при отсутствии оной).
Сохранить эти данные вы можете на свое усмотрение, в cookies, в массиве сессий $_SESSION или в локальном хранилище, называемом localStorage.
Суть будет одна и та же, данные от пользователя, хранящиеся в его браузере вы должны проверить со своими, которые получаете чаще всего из базы данных. Если данные валидны и совпали, сессия живет, пользователь авторизован.
Что именно использовать в качестве хранилища на клиенте, решать только вам, при необходимости устанавливать время протухания сессии, а еще и для разных роутов или уровней доступа, чаще всего используют куки, для их установки и отправки реализована специальная функция (https://www.php.net/manual/ru/function.setcookie.php) в языке.
Однако, глобальный массив $_SESSION, зачастую вызывает у новичков меньше вопросов и приводит к меньшему количеству проблем, т.к. используется он как самый простой массив доступный из любого места в скрипте.
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
MySQL :: Справочное руководство по MySQL 8.
0 :: 6.2.17 Подключаемая аутентификация
6.2.17 Подключаемая аутентификация
Когда клиент подключается к серверу MySQL, сервер использует
имя пользователя, предоставленное клиентом и хостом клиента, чтобы выбрать
соответствующая строка учетной записи из mysql.user
системная таблица. Затем сервер аутентифицирует клиента,
определение из строки учетной записи, какой плагин аутентификации
относится к клиенту:
-
Если сервер не может найти подключаемый модуль, возникает ошибка и
попытка подключения отклонена. -
В противном случае сервер вызывает этот подключаемый модуль для аутентификации
пользователя, а плагин возвращает серверу статус, указывающий
указал ли пользователь правильный пароль и
разрешено подключаться.
Подключаемая аутентификация обеспечивает следующие важные возможности:
-
Выбор методов аутентификации.
Подключаемая аутентификация упрощает выбор для администраторов баз данных.
и изменить метод аутентификации, используемый для отдельных
Учетные записи MySQL. -
Внешняя аутентификация.
Подключаемая аутентификация позволяет клиентам
подключиться к серверу MySQL с учетными данными, подходящими для
методы аутентификации, которые хранят учетные данные в другом месте, кроме
вmysql.user
системная таблица. За
например, плагины могут быть созданы для использования внешних
методы аутентификации, такие как PAM, идентификаторы входа в систему Windows, LDAP,
или Керберос. -
Пользователи прокси:
Если пользователю разрешено подключение, подключаемый модуль аутентификации
может вернуть серверу имя пользователя, отличное от имени
подключающегося пользователя, чтобы указать, что подключающийся пользователь
является прокси для другого пользователя (проксируемый пользователь).В то время как
соединение длится, прокси-пользователь обрабатывается, в целях
контроль доступа, как обладающий привилегиями проксируемого
пользователь. По сути, один пользователь выдает себя за другого. Для большего
информацию см. в разделе 6.2.19., «Пользователи прокси».
Примечание
Если вы запускаете сервер с
--skip-grant-tables
опция,
плагины аутентификации не используются, даже если они загружены, потому что
сервер не выполняет аутентификацию клиента и разрешает любому клиенту
подключить. Потому что это небезопасно, если сервер запущен
с --skip-grant-tables
вариант, он также отключает удаленные подключения, включив
пропуск_сети
.
-
Available Authentication Plugins
-
The Default Authentication Plugin
-
Authentication Plugin Usage
-
Authentication Plugin Client/Server Compatibility
-
Authentication Plugin Connector-Writing Considerations
-
Restrictions on Pluggable Authentication
Доступные модули аутентификации
MySQL 8. 0 предоставляет следующие подключаемые модули аутентификации:
-
Плагин, выполняющий встроенную аутентификацию; то есть,
аутентификация на основе используемого метода хеширования пароля
до введения подключаемой аутентификации в
MySQL. Плагинmysql_native_password
реализует аутентификацию на основе этого собственного пароля
метод хеширования. Видеть
Раздел 6.4.1.1, «Встроенная подключаемая аутентификация». -
Плагины, выполняющие аутентификацию с использованием пароля SHA-256.
хеширование. Это более сильное шифрование, чем доступное
с собственной аутентификацией. Видеть
Раздел 6.4.1.2, «Кэширование подключаемой аутентификации SHA-2» и
Раздел 6.4.1.3, «Подключаемая аутентификация SHA-256». -
Клиентский плагин, который отправляет пароль на сервер
без хеширования и шифрования.Этот плагин используется в
в сочетании с серверными плагинами, которым требуется доступ к
пароль точно такой же, как предоставленный пользователем клиента. Видеть
Раздел 6.4.1.4, «Подключаемая аутентификация открытым текстом на стороне клиента». -
Плагин, выполняющий внешнюю аутентификацию с использованием PAM.
(Подключаемые модули аутентификации), позволяющие серверу MySQL
использовать PAM для аутентификации пользователей MySQL. Этот плагин поддерживает
также пользователи прокси. Видеть
Раздел 6.4.1.5, «Подключаемая аутентификация PAM». -
Плагин, который выполняет внешнюю аутентификацию в Windows,
позволяя MySQL Server использовать собственные службы Windows для
аутентифицировать клиентские соединения. Пользователи, вошедшие в
Windows может подключаться из клиентских программ MySQL к серверу
на основе информации в их среде без
указание дополнительного пароля.Этот плагин поддерживает
также пользователи прокси. Видеть
Раздел 6.4.1.6, «Подключаемая аутентификация Windows». -
Плагины, выполняющие аутентификацию с использованием LDAP (облегченный
Протокол доступа к каталогам) для аутентификации пользователей MySQL с помощью
доступ к службам каталогов, таким как X.500. Эти плагины
поддержка пользователей прокси, а также. Видеть
Раздел 6.4.1.7, «Подключаемая аутентификация LDAP». -
Плагин, который выполняет аутентификацию с использованием Kerberos для
аутентифицировать пользователей MySQL, которые соответствуют Kerberos
принципы. Видеть
Раздел 6.4.1.8, «Подключаемая аутентификация Kerberos». -
Плагин, который предотвращает все подключения клиентов к любой учетной записи
который его использует. Примеры использования этого плагина включают проксирование
учетные записи, которые никогда не должны разрешать прямой вход, но
доступ только через прокси-аккаунты и аккаунты, которые должны
иметь возможность выполнять сохраненные программы и представления с повышенными правами
привилегии, не подвергая эти привилегии обычному
пользователи.Видеть
Раздел 6.4.1.9, «Подключаемая аутентификация без входа в систему». -
Плагин, который аутентифицирует клиентов, которые подключаются из
локальный хост через файл сокета Unix. Видеть
Раздел 6.4.1.10, «Подключаемая аутентификация через одноранговые учетные данные сокета». -
Плагин, который аутентифицирует пользователей на сервере MySQL с использованием FIDO.
аутентификация. Видеть
Раздел 6.4.1.11, «Подключаемая аутентификация FIDO». -
Тестовый плагин, который проверяет учетные данные и журналы
успех или неудача в журнале ошибок сервера. Этот плагин
предназначены для тестирования и разработки, а также в качестве
пример того, как написать плагин аутентификации. Видеть
Раздел 6.4.1.12, «Проверка подключаемой аутентификации».
Примечание
Для получения информации о текущих ограничениях на использование
подключаемая аутентификация, включая то, какие соединители поддерживают
какие плагины см.
Ограничения на подключаемую аутентификацию.
Разработчики сторонних соединителей должны прочитать этот раздел, чтобы
определить, в какой степени соединитель может использовать преимущество
подключаемых возможностей аутентификации и какие шаги
принять, чтобы стать более уступчивым.
Если вы заинтересованы в написании собственной аутентификации
плагины, см. Написание плагинов аутентификации.
Плагин аутентификации по умолчанию
CREATE USER
и
Операторы ALTER USER
имеют синтаксис
для указания способа аутентификации учетной записи. Некоторые формы этого
синтаксис не указывает явным образом подключаемый модуль аутентификации (существует
пункт IDENTIFIED WITH
). Например:
СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'jeffrey'@'localhost' ИДЕНТИФИЦИРОВАННОГО ' паролем ';
В таких случаях сервер назначает аутентификацию по умолчанию
плагин к аккаунту. До MySQL 8.0.27 это значение по умолчанию
стоимость
default_authentication_plugin
системная переменная.
Начиная с версии MySQL 8.0.27, которая вводит многофакторную аутентификацию,
может быть до трех пунктов, определяющих, как учетная запись
аутентифицирует. Правила, определяющие значение по умолчанию
плагин аутентификации для методов аутентификации без имени
плагин зависит от фактора:
-
Фактор 1: если
аутентификация_политика
элемент 1 называет подключаемый модуль аутентификации, этот подключаемый модуль является
дефолт. Если
аутентификация_политика
элемент 1 равен*
, значение
default_authentication_plugin
по умолчанию.Учитывая приведенные выше правила, следующий оператор создает
учетная запись с двухфакторной аутентификацией, с первым фактором
метод аутентификации, определяемый
authentication_policy
или
default_authentication_plugin
параметр:СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'wei'@'localhost' ИДЕНТИФИЦИРОВАННЫЙ ' пароль ' И ИДЕНТИФИКАЦИЯ С помощью authentication_ldap_simple;
Точно так же этот пример создает трехфакторную
учетная запись аутентификации:СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'mateo'@'localhost' ИДЕНТИФИКАЦИЯ ' пароль ' И ИДЕНТИФИКАЦИЯ С помощью authentication_ldap_simple И ИДЕНТИФИЦИРОВАНО С помощью authentication_fido;
Вы можете использовать
SHOW CREATE USER
для просмотра применяемых методов аутентификации. -
Фактор 2 или 3: если соответствующий
аутентификация_политика
элемент называет подключаемый модуль аутентификации, этот подключаемый модуль является
дефолт. Если
аутентификация_политика
элемент*
или пустой, нет
дефолт; попытка определить аутентификацию учетной записи
метод для фактора без указания плагина является ошибкой,
как в следующих примерах:mysql> СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'sofia'@'localhost', ИДЕНТИФИЦИРОВАННОГО С помощью authentication_ldap_simple И ОПОЗНАЕТСЯ 'abc'; ОШИБКА 1524 (HY000): Плагин '' не загружен mysql> СОЗДАЙТЕ ПОЛЬЗОВАТЕЛЯ 'sofia'@'localhost', ИДЕНТИФИЦИРОВАННОГО С помощью authentication_ldap_simple И ОПОЗНАЕТСЯ 'abc'; ОШИБКА 1524 (HY000): Плагин '*' не загружен
Использование плагина аутентификации
В этом разделе приведены общие инструкции по установке и
с помощью плагинов аутентификации. Для инструкций, специфичных для
данного плагина, см. раздел, описывающий этот плагин, в разделе
Раздел 6.4.1, «Плагины аутентификации».
Как правило, подключаемая аутентификация использует пару
соответствующие плагины на стороне сервера и клиента, поэтому вы используете
заданный метод аутентификации, подобный этому:
-
При необходимости установите библиотеку плагинов или библиотеки
содержащие соответствующие плагины. На хосте сервера,
установите библиотеку, содержащую серверный плагин, поэтому
что сервер может использовать его для аутентификации клиента
соединения. Аналогичным образом на каждом клиентском хосте установите
библиотека, содержащая подключаемый модуль на стороне клиента для использования клиентом
программы. Встроенные модули аутентификации не нужны.
быть установлен. -
Для каждой создаваемой учетной записи MySQL укажите
соответствующий серверный плагин для аутентификации.Если
учетная запись должна использовать подключаемый модуль аутентификации по умолчанию,
в заявлении о создании учетной записи не нужно указывать плагин
явно. Сервер назначает аутентификацию по умолчанию
плагин, определяемый, как описано в
Плагин аутентификации по умолчанию. -
Когда клиент подключается, плагин на стороне сервера сообщает
клиентская программа, какой клиентский плагин использовать для
аутентификация.
В случае, если учетная запись использует метод аутентификации, который
используется по умолчанию как для сервера, так и для клиентской программы,
серверу не нужно сообщать клиенту, какая клиентская сторона
подключаемый модуль для использования, и обмен данными между клиентом и сервером может
избегать.
Для стандартных клиентов MySQL, таких как , mysql и
mysqladmin ,
--default-auth=
имя_плагина
опция может быть указана в командной строке как подсказка о
какой клиентский плагин программа может использовать, хотя
сервер переопределяет это, если подключаемый модуль на стороне сервера связан
с учетной записью пользователя требуется другой подключаемый модуль на стороне клиента.
Если клиентская программа не находит подключаемый модуль на стороне клиента
файл библиотеки, укажите
--plugin-dir=
имя_каталога
опция, указывающая расположение каталога библиотеки плагинов.
Подключаемый модуль аутентификации Совместимость клиент/сервер
Подключаемая аутентификация обеспечивает гибкость в выборе
методы аутентификации для учетных записей MySQL, но в некоторых случаях
клиентские соединения не могут быть установлены из-за аутентификации
несовместимость плагинов между клиентом и сервером.
Общий принцип совместимости для успешного клиента
подключение к данной учетной записи на данном сервере заключается в том, что
клиент и сервер должны поддерживать аутентификацию
метод требуется учетной записью. Потому что
методы аутентификации реализуются аутентификацией
плагины, клиент и сервер должны поддерживать
аутентификация плагин требуется
учетная запись.
Несовместимость подключаемого модуля аутентификации может возникать в различных
способы. Примеры:
-
Подключитесь с помощью клиента MySQL 5.7 версии 5.7.22 или ниже к
Учетная запись сервера MySQL 8.0, которая аутентифицируется с помощью
caching_sha2_password
. Это не удается, потому что
клиент 5.7 не распознает плагин, который был
введен в MySQL 8.0. (Эта проблема решена в MySQL
5.7 от 5.7.23, когда
caching_sha2_password
клиентская поддержка
был добавлен в клиентскую библиотеку MySQL и клиентские программы.) -
Подключитесь с помощью клиента MySQL 5.7 к учетной записи сервера до версии 5.7.
который аутентифицируется с
mysql_old_password
. Это не удается для
множественные причины. Во-первых, такое соединение требует
--secure-auth=0
, который больше не является
поддерживаемый вариант.Даже если бы он поддерживался, клиент 5.7
не распознает плагин, потому что он был удален в
MySQL 5.7. -
Подключиться с помощью клиента MySQL 5.7 из сообщества
распространение на учетную запись сервера MySQL 5.7 Enterprise, которая
аутентифицируется с использованием одного из LDAP только для предприятий
плагины аутентификации. Это не удается, потому что Сообщество
у клиента нет доступа к подключаемому модулю Enterprise.
Как правило, эти проблемы совместимости не возникают, когда
соединения выполняются между клиентом и сервером из одного и того же
Дистрибутив MySQL. При установлении соединений между клиентом
и сервера из разных серий MySQL могут возникнуть проблемы. Эти
проблемы присущи процессу разработки, когда MySQL
вводит новые плагины аутентификации или удаляет старые. К
минимизируйте вероятность несовместимости, регулярно обновляйте
сервер, клиенты и соединители на своевременной основе.
Коннектор подключаемого модуля аутентификации — рекомендации по написанию
Различные реализации клиент-серверного протокола MySQL.
существует. Клиент C API libmysqlclient
библиотека — это одна реализация. Некоторые коннекторы MySQL (обычно
те, что не написаны на C), предоставляют собственную реализацию.
Однако не все реализации протокола работают с подключаемыми модулями.
аутентификация таким же образом. В этом разделе описывается
проблема аутентификации, которую разработчики протокола должны принять во внимание
учетная запись.
В клиент-серверном протоколе сервер сообщает о подключении
клиенты, какой плагин аутентификации он считает по умолчанию. Если
реализация протокола, используемая клиентом, пытается загрузить
плагин по умолчанию, и этот плагин не существует на клиенте
сторона, операция загрузки не выполняется. Это ненужный провал
если плагин по умолчанию не является тем плагином, который действительно требуется
учетная запись, к которой клиент пытается подключиться.
Если реализация клиент-серверного протокола не имеет собственного
понятие плагина аутентификации по умолчанию и всегда пытается загрузить
подключаемый модуль по умолчанию, указанный сервером, он завершается с ошибкой
ошибка, если этот плагин недоступен.
Чтобы избежать этой проблемы, реализация протокола, используемая
клиент должен иметь свой собственный плагин по умолчанию и должен использовать его как
его первый выбор (или, альтернативно, вернуться к этому умолчанию
в случае невозможности загрузить плагин по умолчанию, указанный
сервер). Пример:
-
В MySQL 5.7
libmysqlclient
использует в качестве своего
выбор по умолчанию либо
mysql_native_password
или плагин
указан черезMYSQL_DEFAULT_AUTH
опция дляmysql_options()
. -
Когда клиент версии 5.
7 пытается подключиться к серверу версии 8.0,
сервер указываетcaching_sha2_password
как
его подключаемый модуль аутентификации по умолчанию, но клиент по-прежнему
отправляет данные учетных данных либо
mysql_native_password
или как там
указан черезMYSQL_DEFAULT_AUTH
. -
Единственный раз, когда клиент загружает плагин, указанный в
server предназначен для запроса на изменение плагина, но в этом случае он
может быть любым плагином в зависимости от учетной записи пользователя. В этом
случае клиент должен попытаться загрузить плагин, и если что
плагин недоступен, ошибка не обязательна.
Ограничения на подключаемую аутентификацию
В первой части этого раздела описаны общие ограничения на
применимость подключаемой структуры аутентификации
описано в Разделе 6. 2.17, «Подключаемая аутентификация».
во второй части описывается, как сторонние разработчики коннекторов могут
определить, в какой степени соединитель может использовать преимущества
подключаемые возможности аутентификации и какие шаги предпринять, чтобы
стать более сговорчивым.
Используемый здесь термин «собственная аутентификация» относится
для аутентификации по паролям, хранящимся в
mysql.user
системная таблица. Это тоже самое
метод аутентификации, предоставляемый старыми серверами MySQL, до
реализована подключаемая аутентификация. «Родной
аутентификация» относится к аутентификации с использованием
учетные данные пользователя, который уже вошел в Windows, как
реализуется подключаемым модулем Windows Native Authentication
(«Подключаемый модуль Windows» для краткости).
-
Общие ограничения аутентификации подключаемых модулей
-
Проверка подлинности подключаемых модулей и сторонние соединители
Общие ограничения аутентификации подключаемых модулей
-
Connector/NET: клиенты , использующие
Connector/NET может подключаться к серверу через учетные записи, которые используют
собственная проверка подлинности или собственная проверка подлинности Windows. -
Connector/PHP: клиенты , которые
использовать этот коннектор может подключиться к серверу только через
учетные записи, использующие встроенную аутентификацию, при компиляции с использованием
родной драйвер MySQL для PHP
(mysqlnd
). -
родной Windows
аутентификация: Подключение через учетную запись
который использует подключаемый модуль Windows, требует установки домена Windows.
Без него используется аутентификация NTLM и то только локальная
возможны соединения; то есть клиент и сервер
должны работать на одном компьютере. -
пользователей прокси: пользователя прокси
поддержка доступна в той мере, в какой клиенты могут подключиться
через учетные записи, аутентифицированные с помощью плагинов, реализующих
возможность пользователя прокси (то есть плагины, которые могут возвращать
имя пользователя, отличное от имени подключающегося пользователя).За
например, подключаемые модули PAM и Windows поддерживают прокси-пользователей.
mysql_native_password
и
sha256_password
плагины аутентификации делают
не поддерживает прокси-пользователей по умолчанию, но может быть настроен на
Сделай так; видеть
Поддержка сервера для сопоставления пользователей прокси. -
Репликация : Реплики могут
не только использовать учетные записи пользователей репликации, используя собственные
аутентификации, но также может подключаться через репликацию
учетные записи пользователей, которые используют нестандартную аутентификацию, если
доступен требуемый клиентский плагин. Если плагин
встроенный вlibmysqlclient
, это
доступно по умолчанию. В противном случае плагин должен быть
установлен на стороне реплики в каталоге, указанном
репликаplugin_dir
system
переменная. -
ФЕДЕРАТИВНЫЙ
столы: AFEDERATED
table может получить доступ к удаленной таблице только через учетные записи на
удаленный сервер, использующий собственную аутентификацию.
0
0
Connector/C++: клиенты , которые
использовать этот коннектор может подключиться к серверу только через
учетные записи, использующие встроенную аутентификацию.
Исключение: соединитель поддерживает сменную аутентификацию, если
он был построен для связи с libmysqlclient
динамически (а не статически) и загружает
текущая версия libmysqlclient
если что
версия установлена, или если коннектор перекомпилирован из
источник для ссылки на текущий
libmysqlclient
.
Сведения о написании соединителей для обработки
информация с сервера о серверной стороне по умолчанию
плагин аутентификации, см.
Соединитель подключаемого модуля аутентификации — рекомендации по написанию.
Съемная аутентификация и сторонние разъемы
Сторонние разработчики коннекторов могут использовать следующие
руководящие принципы для определения готовности соединителя принять
преимущества подключаемых возможностей аутентификации и что
шаги, которые необходимо предпринять, чтобы стать более послушным:
-
Существующий коннектор, в который не вносились изменения
использует встроенную аутентификацию и клиенты, использующие
коннектор может подключаться к серверу только через учетные записи
которые используют собственную аутентификацию. Тем не менее, вы
следует протестировать коннектор на последней версии
сервер, чтобы убедиться, что такие соединения все еще работают без
проблема.Исключение: соединитель может работать с подключаемыми
аутентификация без каких-либо изменений, если она ссылается на
libmysqlclient
динамически (а не
статически) и загружает текущую версию
libmysqlclient
, если эта версия
установлены. -
Чтобы воспользоваться подключаемыми возможностями аутентификации,
коннектор, основанный наlibmysqlclient
должны быть повторно связаны с текущей версией
libmysqlclient
. Это позволяет
коннектор для поддержки подключений через учетные записи, которые
теперь требуются клиентские плагины, встроенные в
libmysqlclient
(например, открытый текст
подключаемый модуль, необходимый для аутентификации PAM, и подключаемый модуль Windows
необходимо для собственной проверки подлинности Windows).Связь с
текущийlibmysqlclient
также включает
коннектор для доступа к подключаемым модулям на стороне клиента, установленным в
каталог плагинов MySQL по умолчанию (обычно это каталог
названный значением по умолчанию локального сервера
plugin_dir
система
переменная).Если коннектор ссылается на
libmysqlclient
динамически, необходимо убедиться, что более новая версия
libmysqlclient
установлен на клиенте
host и что коннектор загружает его во время выполнения. -
Другой способ для соединителя поддерживать заданный
метод аутентификации заключается в реализации его непосредственно в
клиент-серверный протокол. Connector/NET использует этот подход для предоставления
поддержка встроенной аутентификации Windows. -
Должен ли соединитель иметь возможность загружать подключаемые модули на стороне клиента
из каталога, отличного от плагина по умолчанию
каталог, он должен реализовать некоторые средства для пользователей клиента, чтобы
укажите директорию.Возможности для этого включают
параметр командной строки или переменная среды, из которой
соединитель может получить имя каталога. Стандартный MySQL
клиентские программы, такие как mysql и
mysqladmin реализовать
--plugin-dir
опция. Смотрите также
Интерфейс подключаемого модуля клиента C API. -
Поддержка прокси-пользователя соединителем зависит, как описано
ранее в этом разделе о том, является ли аутентификация
методы, которые он поддерживает, разрешают пользователям прокси.
Класс аутентификации: управление учетными записями и аутентификация пользователей
Поиск | Все группы классов | Последние записи | 10 лучших чартов | Блог | Форумы | Магазин | Справка |
Детали
{startverticalbanner}
Аутентификация пользователя Класс PHP ============================== Это простой класс аутентификации пользователя для PHP, который использует база данных MySQL, доступ к которой осуществляется через MySQLi. |
Классы Cuonic | > | Класс аутентификации | > | Скачать .zip .tar.gz | > | Форум поддержки (3) | > | Блог | > | Последние изменения |
|
Группы | Скриншоты | Оценки пользователей |
приложений | Связанные страницы | Файлы |
Группы |
PHP 5 | Классы, использующие специальные функции PHP 5 | Посмотреть классы с самым высоким рейтингом |
Базы данных | Управление базой данных, доступ и поиск | Посмотреть классы с самым высоким рейтингом |
Управление пользователями | Записи пользователей, аутентификация и обработка сеансов | Посмотреть классы с самым высоким рейтингом |
Скриншоты |
|
Оценки пользователей |
Рейтинги | Полезность | Консистенция | Документация | Примеры | Тесты | Видео | Комбинезон | Ранг |
---|---|---|---|---|---|---|---|---|
За все время: | Хорошее (80%) | Хорошее (80%) | Достаточно (65%) | — | — | — | Не уверен (54%) | 1949 |
Месяц: | Пользователи еще не оценили |
Приложения, использующие этот пакет |
Auth Demo Быстрая демонстрация созданного мной класса |
Если вы знаете приложение этого пакета, отправьте сообщение автору, чтобы добавить сюда ссылку.
Связанные страницы |
Страница проекта Github Репозиторий Github для этого класса обновлен больше, чем проект PHPClasses |
Файлы |
Файл | Роль | Описание |
---|---|---|
auth.class.php | Класс | Класс аутентификации PHP |
auth.sql | Данные | Структура базы данных MySQL |
config.php | Конф. | Файл конфигурации аутентификации |
язык. |