BBO001 Ответов: 2

Как сделать имя пользователя нечувствительным к регистру и пароль чувствительным к регистру с помощью laravel?


У меня есть создать 1 имя пользователя : ABC и пароль : abc123 в MYSQL db, я пытаюсь войти с abc(имя пользователя) & ABC123(пароль) и его удалось войти.

И я хочу сделать имя пользователя нечувствительным к регистру, которое я могу войти в систему с нижним и верхним регистром, а пароль я хочу сделать чувствительным к регистру, который мне нужно ввести точно так же, как то, что я сохранил в БД

Что я уже пробовал:

я пробую этот метод, но все еще могу войти в систему

 public function login(Request $request)
{

 $check =  DB::table('user')->where('LoginID', strtolower($request->input('username')))->where('Password',$request-
 >input('password'))->get();

}

Richard MacCutchan

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

2 Ответов

Рейтинг:
2

Sandeep Mewara

Поверьте, что это для аспекта обучения, и вы будете следовать лучшим практикам.

Попробуй:

protected function login(Request $request)
{
    $credentials = [
        $this->username() => strtolower($request->input($this->username())),
        'password' => $request->get('password'),
    ];
    
    return $credentials;
}

Более подробная информация здесь: Как сделать адрес электронной почты логин с учетом регистра с Laravel проверки подлинности 5.5[^]


Рейтинг:
0

OriginalGriff

Имя пользователя очень просто: сохраните его во всех строчных буквах (при необходимости во втором поле) и просто сравните.

Но пароль сложнее, потому что то, что вы делаете, неправильно и может быть очень дорого для вас. Никогда не храните пароли в открытом виде - это серьезная угроза безопасности. Здесь есть некоторая информация о том, как это сделать: Хранение паролей: как это сделать.[^] - игнорируйте код, он основан на C#, но текст все еще релевантен. PHP предоставляет простые в использовании функции хэширования паролей: Хэширование паролей в PHP 5.5 с API хэширования паролей[^] и вы действительно должны использовать их.

И помните: если это веб-сайт и у вас есть какие-либо пользователи из Европейского союза, то применяется GDPR, а это означает, что вы должны обрабатывать пароли как конфиденциальные данные и хранить их безопасным и безопасным способом. Текст-это ни то, ни другое, и штрафы могут быть ... ГМ ... выдающийся. В декабре 2018 года немецкая компания получила относительно низкий штраф в размере 20 000 евро именно за это.