Защита формы php от ботов

Тема в разделе "Как сделать...", создана пользователем sergei64, 1 июл 2014.

  1. sergei64

    sergei64 Создатель

    Регистр.:
    29 июл 2013
    Сообщения:
    34
    Симпатии:
    2
    Доброе время суток есть такая задача форма для заказов изначально была без защиты заказы были(но были и левые боты и т.д.) поставили капчу заказы снизились а боты так и лезут может кто нибудь посоветовать более эффектиное средство и желательно без капчи
     
  2. astass

    astass Постоялец

    Регистр.:
    6 июл 2011
    Сообщения:
    113
    Симпатии:
    62
    Вместо капчи ставил решение простой задачи "скажем сколько будет 3+36" и т.д. с ротацией примеров, вплоть до умножения.
     
    sergei64 нравится это.
  3. sergei64

    sergei64 Создатель

    Регистр.:
    29 июл 2013
    Сообщения:
    34
    Симпатии:
    2
    кстате да эт лучше наверное чем капча а ссылку на решение можете поделиться????
     
  4. astass

    astass Постоялец

    Регистр.:
    6 июл 2011
    Сообщения:
    113
    Симпатии:
    62
    sergei64 нравится это.
  5. Teceract

    Teceract

    Регистр.:
    15 фев 2009
    Сообщения:
    154
    Симпатии:
    71
    ищите математическая капча, вот есть хорошие примеры:

    И лучше сделать проверку отправку формы с вашего сайта, а не с внешнего ресурса
     
    sergei64 нравится это.
  6. sergei64

    sergei64 Создатель

    Регистр.:
    29 июл 2013
    Сообщения:
    34
    Симпатии:
    2
    И лучше сделать проверку отправку формы с вашего сайта, а не с внешнего ресурса а поп подробней или ссылучку пжл !!! Так же читал что как то куки можно задействовать ...вы не знаете про это решение???
     
  7. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    883
    Симпатии:
    540
    1. Разные капчи, от составных картинок, до вопросов.
    2. Можно использовать установленные с помощью javascript куки.
    3. Если данных вводится достаточно - просто убираем имена у input и именуем их input_rand21873 , связи Случайное имя=> Нужное имя, храним в сессии. Бот не различит что и где надо писать, но данный способ будет работать если отличить данные бота будет легко. (скажем он поле Число товаров, заполнил спамом)
     
  8. Teceract

    Teceract

    Регистр.:
    15 фев 2009
    Сообщения:
    154
    Симпатии:
    71
    Нужно проверить HTTP_REFERER, если такой проверки нет в форме, то можно отправить с любого ресурса(программы) не заходя на ваш сайт. В примере ниже есть проверка реферера и идет сессия
     
    autos нравится это.
  9. wolan4ik

    wolan4ik Писатель

    Регистр.:
    1 май 2014
    Сообщения:
    1
    Симпатии:
    2
    Телефон содержит больше 3 цифр
    Если в форме есть поле телефон и оно обязательное, то простая проверка: «число цифр в телефоне больше 4» сократит спам на несколько порядков. Даже если имя поля phone. Необходимости у дорвейщиков спамить формы обратной связи нет, поэтому, их спамилки редко различают это поле, а просто его заполняют всякой чепухой. Сама по себе эта проверка сократит число спама до 2-3 сообщений в месяц. Изменение имени поля еще больше сократит спам, однако, оно отключит функцию автодополнения у браузера.
    В большинстве случаев для формы обратной связи достаточно этого метода.

    Невидимое поле

    Если мы добавим обычное поле ввода и скроем его через CSS, то пользователи его не будут заполнять (поскольку его не видят), а вот спамилка обязательно заполнит это поле.

    Проверка кукиес
    Многие спамерские роботы не поддерживают кукиес и можно просто сохранять при загрузке какой-то кук и проверить наличие куков, после отправки формы. Однако, у части пользователей могут быть отключены куки. При их отсутствии нужно запрашивать пароль отдельно после отправки формы.
    С другой стороны, часть спамилок поддерживают куки. Но не обязательно передавать куки на странице с формой, можно загрузить невидимый для пользователя IFrame и в нем передать куку. Еще меньше спамилок загружают фреймы. Такой метод реализован на wordstat.yandex.ru — если вы отключите куки он будет у вас спрашивать капчу.
    Можно попробовать загружать куки через картинку, даже если спамерка использует браузер как движок, то картинки она в большинстве случаев не загружает. Однако, меня смущает то, что Яндекс это дело организовал через IFrame. Правда, дело может быть в том, что когда писался Wordstat многие пользователи из-за медленного канала отключали картинки.

    Проверка JS
    Большинство спамилок не исполняют JS, особенно из внешних файлов. Можно сделать невидимое поле и в него добавлять какой-то код через JS из внешнего файла. Если у пользователя JS отключен — ему придется вводить капчу.
     
    KillDead нравится это.
  10. UDAV

    UDAV

    Регистр.:
    22 июн 2007
    Сообщения:
    781
    Симпатии:
    153
    Невидимое поле уже часто не срабатывает. Боты очень легко могут распознать его.
    Самое эффективное на мало посещаемом сайте это примеры или чтоб вводили любое слово для проверки.