This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| blog:captcha_amb_cobol [2020/11/19 22:32] – falken | blog:captcha_amb_cobol [2020/11/20 11:37] (current) – falken | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== CAPTCHA amb COBOL ====== | ====== CAPTCHA amb COBOL ====== | ||
| - | Degut a la [[https://www.youtube.com/watch? | + | Degut a la [[https://media.giphy.com/media/ |
| {{: | {{: | ||
| Line 40: | Line 40: | ||
| En la WORKING-STORAGE SECTION afegirem les variables que utilitzem per al Captcha: | En la WORKING-STORAGE SECTION afegirem les variables que utilitzem per al Captcha: | ||
| - | |||
| - | | ||
| | | ||
| | | ||
| Line 53: | Line 51: | ||
| | | ||
| - | Aquesta sentència pren un nombre al·leatori de la variable d' | + | ☝ Aquesta sentència pren un nombre al·leatori de la variable d' |
| IF random-number = SPACE OR random-number = LOW-VALUE THEN | IF random-number = SPACE OR random-number = LOW-VALUE THEN | ||
| Line 61: | Line 59: | ||
| | | ||
| - | Aquest bloc | + | ☝ Aquest bloc controla que s'hagi rebut un nombre des de la variable d' |
| + | |||
| + | |||
| + | CALL " | ||
| + | FUNCTION CONCATENATE(BANNERCMD " " random-number " > / | ||
| + | | ||
| + | |||
| + | MOVE FUNCTION CONCATENATE("/ | ||
| + | |||
| + | OPEN INPUT captchafile | ||
| + | READ captchafile | ||
| + | AT END SET EOFcaptchafile TO TRUE | ||
| + | | ||
| + | | ||
| + | | ||
| + | ADD 1 TO CAPTCHA-Y | ||
| + | READ captchafile | ||
| + | AT END SET EOFcaptchafile TO TRUE | ||
| + | | ||
| + | | ||
| + | CLOSE captchafile | ||
| + | CALL " | ||
| + | |||
| + | I el bloc anterior el que fa és mitjançant un CALL executar el programa figlet i enviar la sortida a un fitxer de text temporal. Seguidament es llegeix (READ) el fitxer i s' | ||
| + | Finalment s' | ||
| + | |||
| + | | ||
| + | | ||
| + | |||
| + | ☝ Aquí demanem a l' | ||
| + | |||
| + | IF CAPTCHA IS NOT EQUAL TO random-number THEN | ||
| + | DISPLAY "NOT CORRECT. DISCONNECTING." | ||
| + | CALL " | ||
| + | STOP RUN | ||
| + | | ||
| + | DISPLAY " | ||
| + | CALL " | ||
| + | | ||
| + | |||
| + | ☝ I en el bloc de dalt controlem si l' | ||
| + | |||
| + | Aquest procediment és molt millorable. Per exemple, hauriem de poder realitzar programàticament, | ||
| + | |||
| + | - Obtenir el número al·leatori sense recórrer a la variable d' | ||
| + | - Representar-lo amb ascii-art sense fer servir el programa // | ||
| + | |||
| + | Qui s' | ||
| + | |||
| + | Notes: | ||
| + | |||
| + | Fem servir una variable d' | ||
| + | |||