Der Aufwand auf beiden Seiten ist bei der methode jedenfalls proportional
klick :D
genau darauf will ich hinaus - wo zieht man die grenze? eine simple rechenaufgabe, ein komplexes bild - egal was, es lässt sich JEDE mensch-maschine-erkennung umgehen, indem man den algorithmus, sprich den lösungsweg, reproduziert oder indem man wirklich einen menschen ransetzt.
nur wo zieht man die grenze, wo ist der aufwand für den entwickler kleiner als für den botentwickler, wo liegt die grenze für einen menschen?
bilder fallen flach, da sie nicht barrierefrei sind, ebenso gesprochener text - 90% der leute gehen davon aus, dass eine barrierefreie seite für blinde geeignet sein muss - was ist mit schwerhörigen oder menschen mit körperlichen behinderungen, die sich zb beim bedienen der maus schwer tun?
im endeffekt MUSS die aufgabe im klartext bestehen
das bringt uns wieder zu den lösbaren aufgaben - für simple rechnungen reicht es, die gleichung aufzulösen und das ist in fast jeder scriptsprache ein einzeiler
komplexere aufgaben - wie zb auf php.net - erfordern, dass jemand die funktionen selbst kennt - mit substr('blahblahblah', -3, 1) kann jemand der diese funkion kennt etwas anfangen, ein normaler benutzer nicht (das ist sogar für einen bot einfach lösbar)
wortbasierende aufgaben scheitern an der sprachbarriere
die beste lösung ist verschiedene faktoren zu prüfen
zb:
die länge des formulars und die dafür benötigte ausfüllzeit
ob vor dem formular eine bestimmte andere seite ausgeführt wurde (mehrseitiges formular wo man ein zweites mal bestätigen)
den referrer checken (macht aber probleme wenn deaktiviert ist)
prinzipiell muss ein mensch anhand der schnittmenge dieser eigenschaften erkannt werden und wenn zu viele faktoren nicht zutreffen, dann ist es ein bot ;)