Название: Проблема чувствительности регистра поля "Логин" при входе в личный кабинет Отправлено: Zababaha от 31 Октября 2020, 08:08:53 Добрый день.
Возможно-ли изменить чувствительность регистра поля "логин" при входе в личный кабинет? Столкнулся со следующей проблемой. Абонент с условным логином LOGIN111 при настройке роутера (PPPoE) ввёл логин с ошибкой LOgIN111. Авторизация прошла, интернет поехал, а вот в личный кабинет он попасть не может, т.к. в самой базе данных его логин тоже изменился на LOgIN111 (а так должно быть?). Название: Re: Проблема чувствительности регистра поля "Логин" при входе в личный кабинет Отправлено: Cell от 31 Октября 2020, 14:11:37 Дичь какая-то. Во-первых авторизация не должна проходить это раз, а во-вторых ничего не меняет сама радиус-авторизация.
Поправьте меня, если я не прав. Название: Re: Проблема чувствительности регистра поля "Логин" при входе в личный кабинет Отправлено: Zababaha от 31 Октября 2020, 19:10:37 Дичь какая-то. Во-первых авторизация не должна проходить это раз, а во-вторых ничего не меняет сама радиус-авторизация. Поправьте меня, если я не прав. Забабахал видео, на котором это наглядно видно - https: //fex.net/s/bndkbtz Кстати, авторизация и в ЛК, и PPPoE без соблюдения регистра в логине присутствует и в 50.32 версии, причем очень давно. Но лично мы этим не заморачивались ранее, т.к. вход в личный кабинет тоже не требовал соблюдения регистра в логине. Условно абонент с логином K1000 мог и в настройках авторизации PPPoE, и при входе в ЛК указывать и "K1000" и "k1000". Можно сказать, что это было даже не багой, а условно фичей. А вот в Н+ вход в личный кабинет возможен строго соблюдая регистр, при этом при PPPoE авторизации по прежнему эта строгость не важна. И как вы заметите в видео, неточность при соблюдении регистра при авторизации почему-то ещё и меняет логин в базе данных, что доставляет хлопот при входе в ЛК. Имхо, если сделать нетребовательность к регистру в логине при входе в ЛК в Н+, то данный "прикол" особо никому и мешать не будет. Н+ стоит из коробки по мануалам на сайте, без всяких допов и отклонений. База мигрирована с Н50.32 Название: Re: Проблема чувствительности регистра поля "Логин" при входе в личный кабинет Отправлено: Efendy от 31 Октября 2020, 23:26:41 Покажи результат выполнения в mysql:
Код: SHOW CREATE PROCEDURE radcheck\G Код: SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'nodeny'; Название: Re: Проблема чувствительности регистра поля "Логин" при входе в личный кабинет Отправлено: Zababaha от 01 Ноября 2020, 07:59:38 Покажи результат выполнения в mysql: Код: SHOW CREATE PROCEDURE radcheck\G Procedure: radcheck sql_mode: NO_ENGINE_SUBSTITUTION Create Procedure: CREATE DEFINER=`root`@`localhost` PROCEDURE `radcheck`(IN login VARCHAR(64), IN only_one_session INT) BEGIN SELECT id, name, 'Cleartext-Password' AS Attribute, AES_DECRYPT(passwd, 'password888') AS Value,':=' FROM users u WHERE name=login AND IF(only_one_session < 1, true, NOT EXISTS (SELECT 1 FROM v_ips WHERE uid=u.id AND auth=1 AND last>(UNIX_TIMESTAMP() - 300) LIMIT 1) ); END character_set_client: utf8 collation_connection: utf8_general_ci Database Collation: utf8_general_ci Код: SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'nodeny'; +----------------------------+------------------------+ | DEFAULT_CHARACTER_SET_NAME | DEFAULT_COLLATION_NAME | +----------------------------+------------------------+ | utf8 | utf8_general_ci | +----------------------------+------------------------+ 1 row in set (0.00 sec) Название: Re: Проблема чувствительности регистра поля "Логин" при входе в личный кабинет Отправлено: Efendy от 02 Ноября 2020, 18:35:03 Сделай так:
Код: DROP PROCEDURE IF EXISTS `radcheck`; Название: Re: Проблема чувствительности регистра поля "Логин" при входе в личный кабинет Отправлено: Zababaha от 03 Ноября 2020, 06:00:02 Сделай так: Код: DROP PROCEDURE IF EXISTS `radcheck`; Да, помогло. Теперь строгая авторизация по логину и в PPPoE и в ЛК ровно так, как логин записан в БД. Спасибо) |