PHPackages                             mekras/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. [Utility &amp; Helpers](/categories/utility)
4. /
5. mekras/botobor

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

mekras/botobor
==============

PHP antispam library

0.4.0(13y ago)2135.5k↓36.4%5[3 issues](https://github.com/mekras/botobor/issues)Apache-2.0PHPPHP &gt;=5.0.0

Since Sep 7Pushed 10y ago6 watchersCompare

[ Source](https://github.com/mekras/botobor)[ Packagist](https://packagist.org/packages/mekras/botobor)[ RSS](/packages/mekras-botobor/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (2)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, создающий форму:

```
