1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-captcha

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Сервис CAPTCHA

Тестирование проведено на mac, centos6.x и ubuntu14.

demo.gif


Подготовка

Необходимые зависимости: golang imagemagic

Проверка установки:

pkg-config --cflags --libs MagickWand

go version

Отсутствие ошибок указывает на успешную установку.

Клонирование и сборка

git clone https://github.com/jianxinio/captcha/

или скачать и распаковать

Перейдите в папку captcha и запустите source install.sh

Шаг Downloading necessary files может занять длительное время. Обратите внимание на ошибки, если они продолжаются после завершения загрузки, возможно, установка imagemagic выполнена некорректно.

Если всё прошло успешно, вы увидите появление папки build, содержащей:

  1. bin - папка с исполняемыми файлами
  2. assets - папка с статическими ресурсами
  3. tmp - папка с кэшированными CAPTCHA

Помимо папки build, остальные файлы больше не используются.

Запуск

Перейдите в папку bin и запустите ./captcha.

При успешном запуске вы увидите сообщение Init success.. В папке tmp появится 100 CAPTCHA.

Для продакшена рекомендуется использовать守护进程.

Интеграция программы

Доступ к localhost:8001 покажет содержимое CAPTCHA (формат base64(buffer)|result).

При использовании необходимо сперва разделить('|'), а затем декодировать base64 и передать результат фронтенду.

get '/captcha' do
  captcha = Faraday.get settings.captcha_server
  captcha_arr = captcha.body.split('|')
  @session['captcha_result'] = captcha_arr[1]
  content_type 'image/gif'
  Base64.decode64 captcha.body.split('|')[0]
end

Интеграция программы

Доступ к localhost:8001 покажет содержимое CAPTCHA (формат base64(buffer)|result).

При использовании необходимо сперва разделить('|'), а затем декодировать base64 и передать результат фронтенду.

get '/captcha' do
  captcha = Faraday.get settings.captcha_server
  captcha_arr = captcha.body.split('|')
  @session['captcha_result'] = captcha_arr[1]
  content_type 'image/gif'
  Base64.decode64 captcha.body.split('|')[0]
end#### Расширенная конфигурация

Подробные документы по дизайну доступны в BriefDesign.

Описание config.json:

  • initial_count - количество CAPTCHA, созданных при инициализации
  • check_interval - интервал проверки использования
  • threshold - порог обновления CAPTCHA
  • update_count - количество обновляемых CAPTCHA

При большом количестве запросов рекомендуется увеличить initial_count и update_count.

Перезагрузка конфигурационного файла поддерживает только initial_count и update_count:

Метод перезагрузки: kill -USR2 pid

Лицензия

MIT

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Сервис CAPTCHA, предназначенный для высоконагруженных систем и легко интегрируемый, имеет следующие основные функции: 1. Случайное создание арифметических задач, при этом некоторые числа и операторы случайным образом заменяются на китайские иероглифы. 2. Каждый текстовый элемент имеет случайный цвет и случайную степень наклона шрифта. 3. При ин... Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Язык

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-captcha.git
git@api.gitlife.ru:oschina-mirror/mirrors-captcha.git
oschina-mirror
mirrors-captcha
mirrors-captcha
master