captcha algébrique
Je suis tombé sur les étendues de l'Internet dans un curieux mettre en œuvre la technologie captcha - utilisateur est invité à résoudre une équation linéaire avec une racine et entrez la solution que le code de vérification.
Quand je suis sur un blog la recherche de captcha, beaucoup de différents essayé, mais avec une approche curieuse jamais rencontrées auparavant. J'ai décidé de regarder de plus près, a ouvert la page de code et se dit déçu - une tâche pour le texte de captcha est affiché, plutôt que de l'image.
En général, la curiosité a décidé de rompre ![]()
Dans le cas général, le captcha est une équation linéaire algébrique (ax + b = 0). Pour les solutions utilisées . (Oh, pourquoi n'ai-je pas le savoir pour 1-3 cours de l'Institut? "Il est même capable de travailler sur un ordinateur de poche!).
zadchey cordes captcha est obtenu à partir du code html de la page semblable au suivant:
<b>(<i>x</i>+9)∙5+4=64</b> .
De Tag <b> peut se débarrasser sur la scène d'obtenir la ligne désirée, mais beaucoup de mal d'eux n'est pas, pour plus de clarté à gauche.
chaîne suivante est traitée un peu à apporter à une forme appropriée pour une solution dans la Maxima, suivie par la décision même de poursuivre - traitement de la production pour l'isolement d'un code de vérification souhaitée (la sortie de Maxima avec suffisamment de détails, même si vous utilisez l'option-quiet):
#! / Usr / bin / perl use warnings; use strict; codant pour l'utilisation 'utf8'; my $ input = "<b> (<i> x </ i> +9) ∙ 5 +4 = 64 </ b> '; $ Input = ~ s b |</?[, i]> | | ig; $ Input = ~ s / ∙ / * / ig; $ Input = ~ s ig /-/-/; entrée print $, "\ n"; my $ sortie = qx / maxima - calme - batch-string = résoudre "($ input );"/; my $ x = 1 $ si $ out = ~ m # \ [x = (-? \ s? \ d +) \] # gi; print $ x, "\ n"; exit 0;
C'est la chance que j'ai été un soir de se familiariser avec une idée intéressante pour un mécanisme de captcha et en apprendre davantage sur le système de calcul formel Maxima merveilleux.
Je vous souhaite beaucoup de nouvelles découvertes et agréable!


Commentaires récents