За последние 24 часа нас посетили 20130 программистов и 1077 роботов. Сейчас ищут 718 программистов ...

Защита авторизации

Тема в разделе "PHP для новичков", создана пользователем Reken, 19 ноя 2019.

Метки:
  1. Reken

    Reken Активный пользователь

    С нами с:
    4 июл 2019
    Сообщения:
    198
    Симпатии:
    5
    Подскажите пожалуйста
    Я сделал форму входа на сайт по логину и паролю.
    Стандартная схема:
    Логин и пароль сверяются с БД на mysql, если совпадает, то всё отлично...

    Как можно защитить эту форму? Так как в поле логин и пароль, могут же вводить что угодно.
    Как вариант может убирать все пробелы из отправленного формой?
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.548
    Симпатии:
    1.754
    @Reken, ну и пусть вводят что угодно :) Просто не совпадёт. Пробелы удалить можно.

    Тут главное - как у вас проверка внутри организована, уязвимо к SQL-инъекциям или нет.
    --- Добавлено ---
    Если всё сделано правильно, то вам вообще по барабану, что придёт на авторизацию должно быть
     
  3. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.068
    Симпатии:
    1.231
    Адрес:
    там-сям
    пробелы убрать можно, но только в том случае, если ты их убрал при регистрации.
    -- К.О.

    P.S. форма аутентификации, Карл
     
    mkramer нравится это.
  4. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.789
    Симпатии:
    646
    Чем тебе пробелы помешали? Ну по краям можешь убрать, если убирал их при регистрации, как выше написали. Если никто не вносил данные с такими пробелами, можешь и сейчас это сделать, не забыв добавить это и к регистрации.

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

    P.S. «Форма входа» – норм.
    --- Добавлено ---
    P.P.S. Чтобы не париться с SQL-инъекциями на пароле, можно получить запись по логину, а потом сравнить пароли/их хэши.
    --- Добавлено ---
    Еще, чтобы снизить возможную нагрузку, можно предварительно делать проверки строк на непривышение макс. разрешенных для этих строк длин.
     
  5. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.548
    Симпатии:
    1.754
    Ну в пароле они в принципе не возможны, если всё правильно сделано (т.е. если есть хеширование).

    @Reken Кстати, действительно. Сейчас не проверяют пароль в запросе, а находят пользователя по логину, и потом сравнивают хеш. Причём и для хеширования и для сравнения рекомендуется использовать соотв. функции:
     
  6. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.789
    Симпатии:
    646
    Ты просто не видел мега бредовые хэши с весьма специфическими символами в их алфавите ;) Я в общем-то сам хотел написать то, что ты написал, но вовремя вспомнил, что хэши тоже бывают разные.