ФорумПрограммированиеPHP для идиотов → Как сделать Captcha без сессий и хранения в БД?

Как сделать Captcha без сессий и хранения в БД?

  • gooddaytoday

    Сообщения: 38 Репутация: N Группа: Кто попало

    Spritz 26 декабря 2010 г. 1:34

    Скорого Новый Год, очень хочется сделать подарок себе в виде хорошей антиспам системы. Вкратце:
    - При вводе сообщения капчу вводить ненадо.
    - Если время запроса между сообщениями < скажем, 15 сек, то выдавать капчу, увеличивая допустимое время между сабмитом сообщений на несколько сек.
    - При превышении определенного лимита капч отправлять ip в спам-лист.

    Не представляю себе, как антикапчу использовать.

    1. Допустим, имеется исходный материал http://captcha.ru

    2. Такие капчи будут аяксом выскакивать, если сообщение от слишком ретивого юзера. Соответственно появляется проблема:

    - Невозможно хранить капчу в сессии, т.к. заголовки уже были посланы
    - Если хранить в БД и идентифицировать по ip, то это создаст колосальную нагрузку на сервер (представьте, что капча будет использоваться при добавлении 100-200 тыс. сообщений… ну как-то так)

    Варианта "в hidden записывать md5 текста капчи" опасаюсь. Размыто как-то об этом в Сети пишут - опасно.
  • Mars

    Сообщения: 304 Репутация: N Группа: Кто попало

    Spritz 26 декабря 2010 г. 1:38, спустя 3 минуты 12 секунд

    captcha.ru говно какое-то, хранить ответ можно только на сервере, и никак иначе, так что не страдай хуйней а просто выбери правильный тип таблиц
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 26 декабря 2010 г. 1:40, спустя 1 минуту 56 секунд

    gooddaytoday, твой капча.ру?) я не понял.

    ответ на твой вопрос - кеш сервер и устаревание кеш ключа минут на 15. вот те не похуй - сколько капч было введено не верно, а елси не похуй - инкрементируешь ключ(ип адрес) в кеше с устареванием в 15 секунд или соклько ты там хотел и все, если чувак "перебрал" то пизда ему
    Сапожник без сапог
  • Mars

    Сообщения: 304 Репутация: N Группа: Кто попало

    Spritz 26 декабря 2010 г. 1:42, спустя 2 минуты 16 секунд

    вообще хотелось бы пример капчи всплывающей на аяксе, с исходником
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 26 декабря 2010 г. 1:42, спустя 15 секунд


    вообще хотелось бы пример капчи всплывающей на аяксе, с исходником
    vk.com ?
    Сапожник без сапог
  • Mars

    Сообщения: 304 Репутация: N Группа: Кто попало

    Spritz 26 декабря 2010 г. 1:43, спустя 1 минуту 14 секунд

    вообще можно провести новогодний конкурс на самую красивую капчу с призами
    phpdude я имел ввиду с исходниками и по простому чтоб всё по полочкам
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 26 декабря 2010 г. 1:45, спустя 1 минуту 35 секунд

    придумал ахуенно)))

    генерим капчу, отдаем ключ + картинку, ключ в кеш сервер, форма от капчи сабмитится гетом на сервак наш, на входе nginx ищет в мемкеше наш ключ, если ключ хуевый - устарел либо не было, возвращаем снова капчу. скорость зато заебись, минимальное участие пхп)
    Спустя 61 сек.
    вообще можно провести новогодний конкурс на самую красивую капчу с призами

    я бы предложил генерацию картинки на канвасе поверх новогодней елочки в 1кб, причем генеарцию условную - например вращающиеся палочки анимированные которые показывают иногда капчу, остальное время танцуют :D
    Спустя 6 сек.
    во курнул ..
    Сапожник без сапог
  • Mars

    Сообщения: 304 Репутация: N Группа: Кто попало

    Spritz 26 декабря 2010 г. 1:47, спустя 1 минуту 45 секунд

    сегодня ночью буду учится делать капчу на пхп, не простую а красивую какую нибудь, используя imagick
  • gooddaytoday

    Сообщения: 38 Репутация: N Группа: Кто попало

    Spritz 26 декабря 2010 г. 1:51, спустя 4 минуты 51 секунду

    Уау… а я просто хотел узнать какое-нибудь простое решение.

    генерим капчу, отдаем ключ + картинку, ключ в кеш сервер, форма от капчи сабмитится гетом на сервак наш, на входе nginx ищет в мемкеше наш ключ, если ключ хуевый - устарел либо не было, возвращаем снова капчу. скорость зато заебись, минимальное участие пхп)
    - после этого понял, что надо еще почитать литературу) ничиво не понятно…

    http://www.simplecoding.org/dobavlyaem-captcha-k-forme.html - вот тут вот есть решение.
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 26 декабря 2010 г. 1:56, спустя 4 минуты 47 секунд

    Не знаю, блядь
    Мы используем captcha.ru самым стандартным образом, правда у нас все сессии в мемкешах живут.
    Все нормально, проблем нет, и не хуй изобретать велосипеды, есть куча более полезных дел …
  • Mars

    Сообщения: 304 Репутация: N Группа: Кто попало

    Spritz 26 декабря 2010 г. 2:00, спустя 3 минуты 25 секунд

    И так, я начал делать свою капчу…

  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 26 декабря 2010 г. 2:12, спустя 11 минут 50 секунд

    Спустя 30 сек.
    какая буква на картинке? кто скажет?
  • Mars

    Сообщения: 304 Репутация: N Группа: Кто попало

    Spritz 26 декабря 2010 г. 2:15, спустя 3 минуты 23 секунды


    Спустя 30 сек.
    какая буква на картинке? кто скажет?


    буква ХУ
    Спустя 25 сек.
    Бля она меняется
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 26 декабря 2010 г. 2:18, спустя 2 минуты 57 секунд

    Бля она меняется

    бляяя
  • Mars

    Сообщения: 304 Репутация: N Группа: Кто попало

    Spritz 26 декабря 2010 г. 2:43, спустя 25 минут 13 секунд

    просто я идиот…

Пожалуйста, авторизуйтесь, чтобы написать комментарий!