PHPackages                             kavalar/botobor - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Security](/categories/security)
4. /
5. kavalar/botobor

ActiveLibrary[Security](/categories/security)

kavalar/botobor
===============

PHP antispam library

01PHP

Since Oct 30Pushed 6y ago1 watchersCompare

[ Source](https://github.com/apuc/botobor)[ Packagist](https://packagist.org/packages/kavalar/botobor)[ RSS](/packages/kavalar-botobor/feed)WikiDiscussions master Synced 4d ago

READMEChangelogDependenciesVersions (1)Used By (0)

Ботобор
=======

[](#ботобор)

[![Build Status](https://camo.githubusercontent.com/f41d9233d1dfb3ff8524e87561156c327bed34e84c09f8e4858ebb13582a2752/68747470733a2f2f7472617669732d63692e6f72672f6d656b7261732f626f746f626f722e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/mekras/botobor)

\[ [Домашняя страница](http://mekras.github.com/botobor/) \] \[ [Документация по API](http://mekras.github.com/botobor/api/) \]

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

[](#принципы-работы)

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

[Нед Батчелдер](http://nedbatchelder.com/site/aboutned.html) предлагает зайти с другого конца. Вместо того, чтобы заставлять напрягаться наших любимых, но ленивых пользователей разбирать, заставить роботов выдать себя. Подробно об этом написано в его статье [Stopping spambots with hashes and honeypots](http://nedbatchelder.com/text/stopbots.html).

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

- между созданием формы и её отправкой прошло слишком мало времени;
- между созданием формы и её отправкой прошло слишком много времени;
- заполнено хотя бы одно поле-приманка (см. ниже);
- заголовок REFERER не совпадает с адресом, где была размещена форма.

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

Установка
---------

[](#установка)

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

Во-вторых, можно использовать [composer](http://getcomposer.org/):

```
php composer.phar require mekras/botobor:~0.4.0

```

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

[](#использование)

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

[](#простой-пример)

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

```
