За последние 24 часа нас посетили 21726 программистов и 1022 робота. Сейчас ищут 648 программистов ...

Форма проверки ввода почты пропускает спам ботов

Тема в разделе "Сделайте за меня", создана пользователем noice, 17 мар 2021.

  1. noice

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

    С нами с:
    7 сен 2012
    Сообщения:
    157
    Симпатии:
    0
    вот такой адрес зарегался к примеру
    j.ent.ai.wor.l.d.pict.ur.e.t5@

    PHP:
    1.   if (!preg_match('/^[-._a-zA-Z0-9]+@(?:[a-zA-Z0-9][-a-zA-Z0-9]{0,61}+\.)+[a-zA-Z]{2,6}$/', $userData['email'])) {
    2.         $error .= '<span class="errorEmail">Неверно заполнено email</span>';
    3.       }
    если я на странице попытаюсь зарегать почту с подобным именем то будет ошибка Неверно заполнено email
    как спам боты это обходят? и как им запретить обходить?

    притом что еще стоит гугл капча но судя по сему и ее обходят
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.748
    Симпатии:
    1.321
    Адрес:
    Лень
    PHP:
    1. var_dump ( filter_var ( 'j.ent.ai.wor.l.d.pict.ur.e.t5@', FILTER_VALIDATE_EMAIL ) );
     
  3. noice

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

    С нами с:
    7 сен 2012
    Сообщения:
    157
    Симпатии:
    0
    как я понял в этом варианте указанно четкое соответсвие на проверку j.ent.ai.wor.l.d.pict.ur.e.t5@
    дело в том что адреса могут быть любых имен рандомные но похожие на этот.

    вот такой вариант озвучили еще
    как вариант, если достали это из mysql и тип данных для этого поля varchar(30) или char(30),
    возможно это так усекло более длинную строку, если не включён строгий режим

    эта почта и проходит через скул varchar(30)
     
    #3 noice, 17 мар 2021
    Последнее редактирование: 17 мар 2021
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.748
    Симпатии:
    1.321
    Адрес:
    Лень
    Что требуется ?
     
  5. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.591
    Симпатии:
    360
    Добавьте проверку на длину полученной строки с адресом после проверки на соответствие шаблону.
    И укажите в форме это ограничение.
    Или исправьте формат поля в базе и все сопутствующие моменты использования.
     
  6. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.822
    Симпатии:
    736
    Адрес:
    Татарстан
    неверно понял.... это пример с твоим адресом

    прочти про filter_var