2017 © Pedro Peláez
 

library nette-antispam

Nette AntiSpam form control.

image

jzechy/nette-antispam

Nette AntiSpam form control.

  • Sunday, June 3, 2018
  • by JZechy
  • Repository
  • 1 Watchers
  • 4 Stars
  • 1,379 Installations
  • PHP
  • 0 Dependents
  • 1 Suggesters
  • 4 Forks
  • 3 Open issues
  • 12 Versions
  • 18 % Grown

The README.md

Nette-AntiSpam

Latest stable license Downloads Total Open Issues, (*1)

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

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., (*3)

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

Č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., (*5)

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., (*6)

Pro tento případ je možné labelu i inputu nastavit vlastní vykreslování., (*7)

Prodleva mezi příspěvky

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

Composer

composer require jzechy/nette-antispam

Instalace

Do vašeho config.neon do extensions sekce stačí přidat:, (*9)

antispam: Zet\AntiSpam\AntiSpamExtension

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., (*10)

Použití

Registrované rozšíření formuláře lze pak použít následovně:, (*11)

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ý., (*12)

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ář., (*13)

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ě:, (*14)

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

Konfigurace

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

$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., (*15)

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;
}

The Versions

03/06 2018

dev-master

9999999-dev https://github.com/JZechy/Nette-AntiSpam/

Nette AntiSpam form control.

  Sources   Download

MIT

The Requires

 

03/06 2018
03/06 2018
30/05 2018
30/05 2018
11/01 2018
07/01 2018
24/03 2016

1.0.0

1.0.0.0 https://github.com/JZechy/Nette-AntiSpam/

Nette AntiSpam form control.

  Sources   Download

MIT

The Requires

  • php >=5.3.0