Captcha – Obrázek se nevykreslí
- Jakub
- Člen | 30
Řádek kódu výše mám v Captcha.php (v Extras), sice trochu jinak, ale to by nemělo vadit:
/** @var string default image presenter link mask */
public static $defaultLinkMask = 'Captcha:show';
Potom mám mezi presentry ještě CaptchaPresenter.php. Je potřeba na něj někde ještě linkovat, nebo tak? Jen jsem jej tam vložil.. Díky!
- Yrwein
- Člen | 45
Captcha z Extras na nové verzi Nette nechodí, je tam pár chyb (ala špatná registrace filtru, neexistující property atp.) a zákeřností (v beforeRender se musí nastartovat session). Snad v brzké době to každopádně budu mít upravené na prefixed Nette 0.9.4, tak to pak někam uploaduji. ,)
- Yrwein
- Člen | 45
https://forum.nette.org/…ha-pro-nette
…teď uvažuju, jestli se má cenu babrat s předchozím pluginem. // Díky za tohle vlákno, dokopal jsem se vyzkoušet reCaptchu. .))
Editoval Yrwein (29. 6. 2010 21:16)
- Tharos
- Člen | 1030
A co třeba doplnit formulář o vstup typu „kolik se rovná 1 + 1“ ? :) Ta čísla se dají proti vypočítavým robotům (tj. proti těm, kteří i umí počítat) zakódovat ASCII kódy. Mám s tím dobrou zkušenost: roboti se na to nechytají a uživatele to obtěžuje snad i méně, než opisování nějaké rozsypané rýže…
- Tharos
- Člen | 1030
Takhle můžeš nadefinovat formulář:
protected function createComponentCaptchaForm()
{
$form = new AppForm();
$form->addText('captcha', Html::el()->setHtml('Kolik je 1 + 1'))
->addRule(Form::EQUAL, 'Nebyl zadán správný výsledek příkladu', '2');
$form->addSubmit('send', 'Odeslat');
return $form;
}
V prohlížeči se zobrazí vstup „Kolik je 1 + 1“, zatímco ve zdrojovém kódu je jen znět těch entit. Když je k tomu ještě maskovací popisek „Kolik je“ nebo tak nějak, tak IMHO roboti moc šanci nemají. Nebo alespoň mně takhle captcha funguje spolehlivě a osobně mi to přijde lepší, než opisování znaků – IMHO je tohle pro uživatele snažší.
No a pokud by to roboti prolamovali, nahradil bych například operátory slovy (třeba bych zapsal "Kolik je součet číslic jedna a tři). S robotem, který by tohle prolomil, bych si rád potřásl rukou :). Otázkou je, zda se roboti nemůžou chytnout třeba na JavaScript validaci (kde je to validační pravidlo vcelku čitelné), ale v nouzi by to šlo řešit jejím vypnutím u captcha-secured formulářů.
Editoval Tharos (30. 6. 2010 13:23)