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)