PHPackages                             jzechy/nette-antispam - 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. [Validation &amp; Sanitization](/categories/validation)
4. /
5. jzechy/nette-antispam

ActiveLibrary[Validation &amp; Sanitization](/categories/validation)

jzechy/nette-antispam
=====================

Nette AntiSpam form control.

2.0.5.1(7y ago)58.2k↓40%8[3 issues](https://github.com/JZechy/Nette-AntiSpam/issues)MITPHPPHP ^5.6 || ^7.0

Since Mar 24Pushed 7y ago1 watchersCompare

[ Source](https://github.com/JZechy/Nette-AntiSpam)[ Packagist](https://packagist.org/packages/jzechy/nette-antispam)[ Docs](https://github.com/JZechy/Nette-AntiSpam/)[ RSS](/packages/jzechy-nette-antispam/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (4)Versions (13)Used By (0)

Nette-AntiSpam
==============

[](#nette-antispam)

[![Latest stable](https://camo.githubusercontent.com/626456120ec4dfdb9d198952dfdb1cd5e6924864138ca853b2a988b467ab5a50/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6a7a656368792f6e657474652d616e74697370616d2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/jzechy/nette-antispam)[![license](https://camo.githubusercontent.com/019e61c619af46ba39245ce85ebf3f44254d367b76451873603a1acaf069805d/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6a7a656368792f6e657474652d616e74697370616d2e7376673f6d61784167653d32353932303030267374796c653d666c61742d737175617265)](https://github.com/JZechy/Nette-AntiSpam/blob/master/LICENSE)[![Downloads Total](https://camo.githubusercontent.com/aaab0e198f875457ee1dcc25925fdfe5b78da4104d0ea69e655363bfd61e4547/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6a7a656368792f6e657474652d616e74697370616d2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/jzechy/nette-antispam)[![Open Issues](https://camo.githubusercontent.com/255a959be14d8d363272990ca6c9be24382b5184ab5322dd75a6e6de21f3490a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6a7a656368792f6e657474652d616e74697370616d2e7376673f7374796c653d666c61742d737175617265)](https://github.com/JZechy/Nette-AntiSpam/issues)

Nette-AntiSpam slouží jako formulářová komponenta, která pomocí čtyř metod ochrání formulář proti náhodnému spamu.

### Skrytá pole

[](#skrytá-pole)

Do formuláře jsou vygenerována další pole navíc, která jsou před uživatelem skryta JavaScriptem. Pokud bude nějaké z polí vyplněno, bude odesílající identifikován jako spambot.

Skrytí JavaScriptem se dá nahradit vlastní CSS třídou po skrytí pro případ uživatelů bez JavaScriptu.

### Časový zámek formuláře

[](#časový-zámek-formuláře)

Jelikož spamboti zpravidla odesílají formuláře téměř ihned. Dá se nastavit ve vteřinách doba, pro kterou formulář zablokován.

### Kontrolní otázka

[](#kontrolní-otázka)

Náhodně vygenerovaná, jednoduchá početní úloha, kdy čísla jsou náhodně převáděna na řetězce. Tato otázka je uživateli opět skryta a vyplněna JavaScriptem. Pokud má uživatel JavaScript vypnutý, bude vyzván k vyplnění pole.

Pro tento případ je možné labelu i inputu nastavit vlastní vykreslování.

### Prodleva mezi příspěvky

[](#prodleva-mezi-příspěvky)

Tato prodleva určuje, za jak dlouho může uživatel znova odeslat příspěvěk.

Composer
--------

[](#composer)

```
composer require jzechy/nette-antispam

```

Instalace
---------

[](#instalace)

Do vašeho config.neon do extensions sekce stačí přidat:

```
antispam: Zet\AntiSpam\AntiSpamExtension

```

### Konfigurace

[](#konfigurace)

Komponentu lze nakonfigurovat pomocí následujících nastavení:

- **lockTime** Časový zámek formuláře, během kterého se nesmí odeslat. Nastavuje se očekávaná prodleva ve vteřinách.
- **resendTime** Čas, po kterém uživatel může znova odeslat formulář. Nastavuje se očekávání prodleva ve vteřinách Lze vypnout nastavením nuly.
- **numbers** Pole čísel pro náhodný převod na řetězec. Čísla jsou řazena od nuly.
- **question** Znění kontrolní otázky.
- **translate** Zapne lokalizaci pro kontrolní otázku. True/false.

Použití
-------

[](#použití)

Registrované rozšíření formuláře lze pak použít následovně:

```
protected function createComponentForm() {
  $form = new \Nette\Application\UI\Form();

  // Vlastní prvky formuláře ...
  $form->addAntiSpam("spamControl", 5, 60);
}
```

Funkce addAntiSpam příjímá jako první parametr název prvku, tento jediný parametr je povinný.

Dále lze přidat jako druhý parametr zámek formuláře a jako třetí čas, po kterém bude uživatel moci odeslat znova formulář.

### Ověření formuláře

[](#ověření-formuláře)

Formulář lze ověřit dle hodnoty, kterou prvek vrátí - Navrací true, pokud odesílatel antispamem prošel nebo false v opačném případě:

```
$values = $form->getValues();
if($values->spamControl) {
  // Všechny podmínky pro odeslání formuláře byli splněny.
}
```

Konfigurace
-----------

[](#konfigurace-1)

### Settery

[](#settery)

```
$antiSpam->setLockTime(); // Nastaví, kolik vteřin musí uplynout před odesláním formuláře.
$antiSpam->setResendTime(); // Nastaví, kolik vteřin musí uplynout, než je formulář znova odeslán.
$antiSpam->setNumbers(); // Pole čísel vyjádřených slovy pro náhodný převod na řetězec.
$antispam->setQuestion(); // Znění kontrolní otázky.
```

### Gettery

[](#gettery)

```
$antispam->getError(); // Kod chyby.
$antispam->getHiddenFields(); // Vrátí generátor skrytých polí. Užitečné pro přepnutí schování z JS na CSS.
$antispam->getQuestionGenerator(); // Vrátí generátor kontrolní otázky s prototypy Labelu a inputu.
```

Pokud budou splněny všechny podmínky pro odeslání formuláře, bude funkcí getError() navrácena 0. Jinak se vrací číselné označení chyby, které lze testovat proti konstantám ze třídy **Zet\\AntiSpam\\ErrorType**.

### ErrorType Konstanty

[](#errortype-konstanty)

```
class ErrorType {

	use StaticClass;

	const NO_ERROR = 0;

	const LOCK_TIME = 1;

	const RESEND_TIME = 2;

	const HIDDEN_FIELDS = 3;

	const QUESTION = 4;
}
```

###  Health Score

32

—

LowBetter than 71% of packages

Maintenance8

Infrequent updates — may be unmaintained

Popularity31

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~84 days

Recently: every ~32 days

Total

12

Last Release

2771d ago

Major Versions

1.0.4 → 2.0.02018-01-07

PHP version history (2 changes)1.0.0PHP &gt;=5.3.0

2.0.0PHP ^5.6 || ^7.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/93785e6ad0f73f356f4f1bb9275e99fd268546edb24c185ae4915bc00bd86fa5?d=identicon)[JZechy](/maintainers/JZechy)

---

Top Contributors

[![JZechy](https://avatars.githubusercontent.com/u/6874146?v=4)](https://github.com/JZechy "JZechy (44 commits)")

---

Tags

antispamcontrolforminputnettenette-antispam

### Embed Badge

![Health badge](/badges/jzechy-nette-antispam/health.svg)

```
[![Health](https://phpackages.com/badges/jzechy-nette-antispam/health.svg)](https://phpackages.com/packages/jzechy-nette-antispam)
```

###  Alternatives

[nette/schema

📐 Nette Schema: validating data structures against a given Schema.

1.0k336.4M125](/packages/nette-schema)[nette/forms

📝 Nette Forms: generating, validating and processing secure forms in PHP. Handy API, fully customizable, server &amp; client side validation and mature design.

54013.2M446](/packages/nette-forms)[nette/nette

👪 Nette Framework - innovative framework for fast and easy development of secured web applications in PHP (metapackage)

1.6k2.8M334](/packages/nette-nette)[uestla/recaptcha-control

reCAPTCHA control for Nette Framework forms

26572.0k1](/packages/uestla-recaptcha-control)[smartemailing/types

Lightweight collection of handy PHP value objects

9368.7k1](/packages/smartemailing-types)[kdyby/validator

Integration of Symfony/Validator into Nette Framework

10128.1k4](/packages/kdyby-validator)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
