Download the PHP package mekras/botobor without Composer

On this page you can find all versions of the php package mekras/botobor. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package botobor

Ботобор

Build Status

[ Домашняя страница ] [ Документация по API ]

Принципы работы

Самый распространённый на сегодняшний день способ защиты веб-форм от роботов — заставить пользователя доказать, что он человек, путём выполнения действий, которые роботу выполнить затруднительно (CAPTCHA). Вот только с точки зрения удобства использования это не очень хорошо. Ведь таким образом мы заставляем пользователя выполнять ненужные ему и не всегда простые действия.

Нед Батчелдер предлагает зайти с другого конца. Вместо того, чтобы заставлять напрягаться наших любимых, но ленивых пользователей разбирать, заставить роботов выдать себя. Подробно об этом написано в его статье Stopping spambots with hashes and honeypots.

Ботобор представляет собой библиотеку PHP, реализующую идеи Неда. На данный момент используются следующие проверки (любая из них может быть отключена):

Кто может сказать: «Эй, да это же всё обходится в два счёта!». Конечно, так и есть. Но Ботобор не ставит своей целью абсолютную защиту (да такое и невозможно). Цель Ботобора скромнее — уменьшить вероятность заполнения формы роботом, не напрягая при это пользователей-людей. Кстати, Ботобор и CAPTCHA могут использоваться вместе: Ботобор в качестве первой линии обороны, CAPTCHA в качестве второй, если остаются сомнения в человечности пользователя. Подробнее об этом будет написано ниже.

Установка

Во-первых, Вы можете просто скачать файл botobor.php и подключить его к своему проекту любым удобным Вам способом.

Во-вторых, можно использовать composer:

php composer.phar require mekras/botobor:~0.4.0

Использование

Простой пример

Код PHP, создающий форму:

Код PHP, обрабатывающий форму:

Пример с опциями

Можно менять поведение Ботобора при помощи опций. Например, для форм комментариев имеет смысл увеличить параметр lifetime (наибольший промежуток между созданием и отправкой формы), т. к. посетители перед комментированием могут долго читать статью.

Это можно сделать так:

Подробнее об опциях см. описание методов setCheck, setDelay и setLifetime в документации API.

Пример с приманкой

Поля-приманки предназначены для отлова роботов-пауков, которые находят формы самостоятельно. Такие роботы, как правило, ищут в форме знакомые поля (например, name) и заполняют их. Ботобор может добавить в форму скрытые от человека (при помощи CSS) поля с такими именами. Человек оставит эти поля пустыми (т. к. просто не увидит), а робот заполнит и тем самым выдаст себя.

В этом примере поле «name» будет сделано приманкой. При этом имя настоящего поля «name» будет заменено на случайное значение. Обратное преобразование будет сделано во время вызова метода Botobor_Keeper::handleRequest (вызывается автоматически из Botobor_Keeper::isRobot).

Определение провалившейся проверки

Иногда может потребоваться узнать, почему именно Ботобор решил, что посетитель — робот, какую именно проверку посетитель не прошёл. Для этого можно воспользоваться методом Botobor_Keeper::getFailedCheck(), который возвращает имя проваленной проверки. Имена проверок указаны в документации по API.

Совместное использование с CAPTCHA

Ботобор может использоваться совместно с CAPTCHA. Один из вариантов может быть таким. Если проверка Ботобором показала, что форму заполнил робот, можно поступить так же, как в похожей ситуации поступает Яндекс — запросить ввод кода с картинки. В коде это может выглядеть как-то так:


All versions of botobor with dependencies

PHP Build Version
Package Version
Requires php Version >=5.0.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package mekras/botobor contains the following files

Loading the files please wait ....