login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Captcha's

Offline Sam - 15/12/2010 21:15
Avatar van SamPHP expert We kennen ze allemaal: Captcha's.

Het doel van een captcha is om te valideren of de gebruiker wel een echte persoon is en geen bot. Deze validatie gebeurt door input te vragen van de gebruiker op basis van een afbeelding.

Nu zijn er ondertussen al genoeg bots die de meeste captcha's wel kunnen lezen of begrijpen.
Bijvoorbeeld: Een simpele afbeelding met daarin een combinatie van letters en cijfers, wordt meteen goed gelezen door de meeste OCR's (OCR: Optical Character Recoginition). Ook een afbeelding van een dier of een voorwerp wordt redelijk snel opgelost.
Men zou een afbeelding van een persoon kunnen gebruiken, maar dan wordt het lastig voor de gebruiker om te weten wie er precies op die afbeelding staat.

Enkele ideeën die ik had voor gebruiksvriendelijke captcha's die toch moeilijk opgelost worden door OCR's:
- 2 tekenreeksen weergeven in de afbeelding, waarvan er slechts 1 mag overgetypt worden. Hier kan de bot niet weten dat hij niet beide reeksen mag overnemen en zal het systeem hem dus meestal doorhebben.

- Gebruik maken van licht- en donkergrijze tekens en alleen de lichtgrijze tekens laten overtypen. Hier zullen de meeste bots kiezen voor de donkere tekens. Sommigen zullen zelfs alle tekens uit de afbeelding lezen.

- Een optelsom in letters. Een gewone optelsom kan vrij snel opgelost worden door een bot. Maar als je de som in letters weergeeft en het antwoord ook in letters verwacht zullen er een groot deel bots door de mand vallen.


Aanvullende ideeën of opmerkingen over de voorgestelde ideeën om een gebruiksvriendelijke en toch efficiënte captcha te maken?

PS: Hier is een lijst met captcha's die toont hoe het niet moet: http://www.john...-captchas/  

Met vriendelijke groeten,

Sam

24 antwoorden

Gesponsorde links
Offline avdg - 15/12/2010 23:02
Avatar van avdg PHP gevorderde Mijn eerste reactie op captcha's is om recaptcha te gebruiken. Maar als ik die lijst zou moeten aanvullen, dan zou ik denken aan enkele woordjes (of gelijk wat) met een kleine opdracht. Dit met de bedoeling van een captcha meer een spel van te maken.
Offline Sam - 15/12/2010 23:19
Avatar van Sam PHP expert De werking achter recaptcha vind ik persoonlijk niet zo veilig. De afbeelding toont namelijk 2 woorden: het ene woord was leesbaar voor de OCR en het andere niet. Het is geen vereiste om het 2de woord juist te typen omdat dit toch niet gecontroleerd kan worden. Dus als de bot het eerste woord juist leest en bij het tweede woord een kleine fout maakt, wordt de invoer toch geaccepteerd.
Offline FrankL - 16/12/2010 00:04
Avatar van FrankL Lid Geen enkele captcha is veilig. Na een tijdje zijn er altijd weer bots die het kunnen ontcijferen.

Het beste is denk ik om 2 captcha's aan te maken met allebei een eigen invoerveld. Maar toch dat je in het ene invoerveld allebei de captcha's moet invullen. Dat lijkt mij het beste.
Offline Sam - 16/12/2010 00:14
Avatar van Sam PHP expert Ik kan mij voorstellen dat zo'n systeem niet alleen de bots in de war brengt, maar ook de gebruikers zelf. Het feit dat er 2 invoervelden zijn en dat je in 1 van de 2 beide captcha's moet oplossen maakt het ingewikkeld voor je gebruiker en dat is net wat je niet wilt.
Offline FrankL - 16/12/2010 00:17
Avatar van FrankL Lid Dat is het zelfde als de eerste 2 ideeën van je zelf, maar dan nog iets veiliger voor mijn gevoel. Zolang je het duidelijk voor de gebruiker aangeeft.
Offline vinTage - 16/12/2010 00:17
Avatar van vinTage Nieuw lid mijn captcha (altijd al)
  1. if($captchaveld != date("dd-mm-yyyy"))
  2. {
  3. //fuk weg
  4. }
  5. else
  6. {
  7. //...whatever
  8. }


mn input
  1. <input type="text" value = "dd-mm-yyyy" /> incl dwarsstreepjes
Offline pinquin - 16/12/2010 11:21
Avatar van pinquin HTML interesse Ik ben ooit een slide captcha tegen gekomen, simpel om te maken en volgens mijn onmogelijk om te kraken 
slide captcha
Offline joppie - 27/12/2010 19:27
Avatar van joppie Nieuw lid Ik ben wel eens flash captcha's tegen gekomen waarbij er iets van een balkje over de tekens heen geplaatst was waardoor je maar 1 of 2 tekens tegelijkertijd kon zien. Het balkje werd dan verplaatst zodat je weer 1 of 2 andere tekens kon bekijken.
Offline Kevin - 27/12/2010 20:07
Avatar van Kevin Crew Ajax/REST http://farm3.st...b3.jpg?v=0

Deze is me bijgebleven :-)
Offline Sam - 27/12/2010 20:09 (laatste wijziging 27/12/2010 20:10)
Avatar van Sam PHP expert
Kevin schreef:
http://farm3.st...b3.jpg?v=0

Deze is me bijgebleven :-)

Geweldig concept, maar ik denk dat de gemiddelde gebruiker geen moeite meer doet nadat hij de pagina 5 keer vernieuwd heeft  
Het is er in ieder geval een die volgens mij niet snel zal worden opgelost door een bot.
Offline Kevin - 27/12/2010 22:04
Avatar van Kevin Crew Ajax/REST Of net wel!
Offline avdg - 28/12/2010 14:14
Avatar van avdg PHP gevorderde Tenzij je het eerst herkenbare nummer vraagt op de afbeelding misschien? 
Offline NTS64 - 30/12/2010 12:05 (laatste wijziging 30/12/2010 12:05)
Avatar van NTS64 PHP gevorderde
Kevin schreef:
Of net wel!

Idd, moesten er nu nog wat kleurtjes en draaingen aan de karaktes worden gegeven heb je een onkraakbare captcha?  
Offline Martijn - 30/12/2010 18:44
Avatar van Martijn Crew PHP Ik ben van mening dat captcha's onnodig zijn voor 50% van de websites. Laat gewoon een hidden field met JS invullen en controleer of die specifieke waarde is ingevuld. Dat werkt prima zolang het geen gerichte aanval is (en dan moet je jezelf niet te hoog inschatten zo belangrijk zijn de meeste sites niet )

Ik heb ook een cijfer captcha gemaakt, 1 -> een, 2 -> twee etc, en daarna de tekst gedraaid. Sommige letters vielen net buiten de afbeelding, maar jij weet dat 'vij' vijf moet zijn.
Offline valles10 - 31/12/2010 11:37
Avatar van valles10 HTML interesse
Martijn schreef:
Ik ben van mening dat captcha's onnodig zijn voor 50% van de websites. Laat gewoon een hidden field met JS invullen en controleer of die specifieke waarde is ingevuld. Dat werkt prima zolang het geen gerichte aanval is (en dan moet je jezelf niet te hoog inschatten zo belangrijk zijn de meeste sites niet )

Ik heb ook een cijfer captcha gemaakt, 1 -> een, 2 -> twee etc, en daarna de tekst gedraaid. Sommige letters vielen net buiten de afbeelding, maar jij weet dat 'vij' vijf moet zijn.

m.a.w zou een goede captcha zijn, dat een woord een letter mist, en jij het hele woord dus moet maken (net als een toets tijdens nederlands )
Offline pijke - 31/12/2010 13:16
Avatar van pijke Gouden medaille

Lid
je kunt ook zoiets maken als:
je krijgt het woord 'cpoetumr'
en jij moet dan de letters in de goede volgorde zetten.
Offline Joel - 31/12/2010 13:58
Avatar van Joel Eigenaar @ pijke: ik zou dan maar twee letters omdraaien met elkaar.

zwmebad, sintreklaas, tapjit, ... 

Is inderdaad geen slecht captcha idee
Offline pijke - 31/12/2010 14:11
Avatar van pijke Gouden medaille

Lid
dank je.
er ga er denk ik eentje maken.
Offline valles10 - 31/12/2010 15:09
Avatar van valles10 HTML interesse
pijke schreef:
je kunt ook zoiets maken als:
je krijgt het woord 'cpoetumr'
en jij moet dan de letters in de goede volgorde zetten.

Goed idee! dat maakt het voor de bot supermoeilijk! maar voor de human helaas ook 
Offline pijke - 31/12/2010 15:20 (laatste wijziging 31/12/2010 15:21)
Avatar van pijke Gouden medaille

Lid
ligt eraan.
als je maar 2 letters husselt moet het te doen zijn, toch?

edit:
te snel gelezen, dat wat ik eerst zei gaat idd niet werken.
Offline cx1213 - 01/01/2011 14:16
Avatar van cx1213 Lid een normale captcha icm een text form met bv als name "email"(display hidden) en als de bot die invult weet je dat hij een bot is.
Offline Sam - 01/01/2011 16:42
Avatar van Sam PHP expert
pijke schreef:
je kunt ook zoiets maken als:
je krijgt het woord 'cpoetumr'
en jij moet dan de letters in de goede volgorde zetten.

Het is een goed idee en zelfs het voorbeeld dat jij hier geeft kan door een mens meestal zonder fouten opgelost worden. Was het niet wetenschappelijk bewezen dat het niet uitmaakt in welke volgorde de letters van een woord staan, zolang de eerste en de laatste letter maar op de juiste plaats staan?
Offline pijke - 01/01/2011 16:55 (laatste wijziging 01/01/2011 20:33)
Avatar van pijke Gouden medaille

Lid
is idd bewezen.
ik ben er op het moment eentje aan het maken.
hierbij wissel ik maar 2 letters om.
als hij af is zal ik hem op SiMa posten.

edit:
klaar!
nu maar hopen dat hij wordt goedgekeurd...
Offline Stijn - 05/01/2011 17:29
Avatar van Stijn PHP expert Ik weet anders nog een leuk captcha idee. Je hebt drie blokjes met elk een eigen gewicht en je moet het juiste blokje (drag&drop) slepen naar het doel. Op het doel staat welk gewicht erop moet staan.
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.224s