Categoria: PHP

Sobre programação em PHP.

  • Captcha com áudio em PHP

    Tempo de leitura: 5 minutos

    Oi turma!!

    Tudo legal?

    Pois, comigo tudo… Como sempre, meio sumido, mas as vezes apareço pra
    dizer que to aqui, e depois.. Suuuumo de novo… Fazer o que né?
    Pois bem… Abrindo (depois de um ano e meio de existência dessa coisa
    aqui) a categoria “programação”, quero compartilhar uma solução que
    encontrei pra um probleminha:

    Quem já não ouviu falar em “captcha”? Pois, a maioria dos cegos, como
    eu, sabe que “captcha” é uma barreira tão feia quanto seu nome…
    Colocar uma imagem para que o usuário “decifre-a”, exclui completamente
    os deficientes visuais e pessoas com baixa visão. Além disso, a maioria
    dos sites que fazem isso tornam a imagem tão ininteligível as vezes que
    se torna difícil até mesmo para pessoas com visão normal compreenderem o
    que está escrito lá.
    O problema é que a maioria dos programadores de sites que fazem isso
    acham que estão, com isso, investindo na segurança do site… É claro
    que o captcha é uma alternativa, mas não a única, e as vezes, me
    desculpem, mas não é nem só as vezes, é muito usado por programadores
    preguiçosos que não querem gastar um pouquinho mais de tempo criando
    outras rotinas pra verificar se quem está ali é um robô ou um humano, e
    eu e o Geison, quando fizemos aquele livro de visitas que estava na
    minha antiga página (e agora estará na nova) usamos muitas delas, dou
    algumas aqui como exemplo:
    Verificação por sessions, verificação de IP, procura de tags nos campos
    de formulário, além de muitas outras, como por exemplo, verificar se no
    formulário que foi enviado não tem coisas como “aaa”, “…”, ou até
    algumas palavras muito usadas por robots de spam, em uma “lista negra”
    que seria consultada cada vez que alguém envia um formulário.
    É claro que alguns poderiam dizer: “Mas e o processamento”? Bom, só
    respondo uma coisa: Se você pensa em lucro ao invés de em
    acessibilidade, gostaria muito de saber o endereço de seu site, pra
    colocá-lo na minha lista negra!

    Mas.. Voltando ao assunto captcha: Depois de um tempo, milhares e
    milhões de reclamações e claro, uma confusão danada por causa disso,
    alguns começaram a colocar som em suas imagens, ou seja: Um link com os
    caracteres que a gente tem que digitar, gravado em áudio. O problema foi
    que… A qualidade desses áudios as vezes é tão ruim de ouvir, que a
    gente, mesmo os que tem ouvido apurado, desistem por que simplesmente
    não dá pra entender. Um exemplo disso é o hotmail, que é uma desgraceira
    quando a gente vai criar e-mails lá, tem que ouvir 5, 6, 10 vezes e
    ainda assim trocar as vezes a imagem (e o áudio) pra ver se consegue
    entender. Isso pra não falar no javascript, outro probleminha que
    complica um pouco, por exemplo, no caso de se estar usando firefox… Se
    eu tenho que perder meu tempo instalando um plugin pra “tentar” ouvir o
    que a porcaria da imagem diz, desisto!
    O site do google até que o áudio gerado por eles não é tão ruim, mas o
    problema é com o orkut, que faz parte do mesmo grupo e tem um monte de
    lugar que tem a porcaria da imagem e não tem áudio pra a gente ouvir o que
    ela diz! E até hoje não se dignaram a resolver isso…

    Um site que, obviamente, eu tenho que elogiar é o do uol: o sistema
    deles, além do áudio ser relativamente fácil de compreender, ainda tudo
    é acessível via webvox, o nosso navegador do dosvox.

    Mas a questão é: Captcha, usar ou não? Bom, digo o seguinte, se quiserem
    uma resposta (ou melhor, duas):
    1) Sim, mas não se esqueçam que há outras alternativas; Além das
    mensionadas acima, por exemplo, pode-se pensar em um sistema de login…
    Reconheço que isso dá um pouco mais de trabalho ao programador, mas..
    Nem é tanto assim.

    2) Também não esqueçam, obviamente, da acessibilidade! Um link com o
    áudio dos seus captchas, é outra coisa que não custa tanto assim,
    “programadorísticamente falando”… Além disso, o áudio tem que ser
    acessível, não adianta encher de frescuras em javascript pra uma suposta
    segurança, ou distorcer todo o som de forma que ele fique ininteligível.
    Daí, é o mesmo que não ter o link!

    Mas bom… Pra quem quiser ler um documento bem legal sobre isso, e
    também sobre outras soluções que podem ser usadas, pode visitar o
    seguinte link:
    http://www.acessibilidadelegal.com/13-captcha.php

    Mas… Bom, vamos ao que interessa: Eu também já tive de buscar
    informações sobre isso por que não adianta, as vezes, além de outras
    seguranças a gente precisa de um captcha por mais que não goste tanto
    assim da ideia…
    Pois bem: Achei uma classe PHP que possibilita trabalhar com isso no
    site phpcaptcha.org, e desenvolver um script que é
    acessível até mesmo via webvox. Pois bem, peguei o material, estudei,
    resolvi dar uma modificada básica e criei a versão em português dos
    sons e das palavras, além de traduzir algumas outras pequenas coisas.

    É claro que como eu mesmo disse acima, não é tudo, se quer fazer um site
    que poça ser considerado mais ou menos seguro. Eu por exemplo, vou usar
    esse sistema em conjunto com outros que tenho a mania de usar pra ter
    uma segurança média. Por exemplo, uma coisa que deve ser feita (mesmo
    com captcha) é sempre depois de enviar o formulário, trocar a imagem,
    independente de estar certo ou não, e, além disso, quando o sujeito
    acertar, guardar o IP dele em um array por algum tempo, por exemplo, por
    uma hora, e se ele tentar, em um formulário de cadastro, por exemplo,
    efetuá-lo duas vezes dentro desse período, avisar que ele tente mais
    tarde. Como disse, nada é absolutamente seguro na internet, mas essas
    coisas ajudam um pouco, “todas elas juntas”… Captcha não é a solução
    pra tudo, pelo contrário, é até, as vezes, um problema.

    Mas bem, indo diretamente ao que interessa, criei um “pacote” (zip) com
    o material que eu encontrei junto com o que produzi, e disponibilizo ele
    aqui pra vocês.

    Pra quem deseja só “testar o brinquedo” e conhecer, vá em:
    www.fernandozamboni.com/captcha

    Pra quem quer fazer download do material pra usá-lo em seus sites, o
    endereço do zip com tudo junto é:
    www.fernandozamboni.com/captcha/captcha.zip

    No “pacote” tem um formulário de exemplo, além de um leiame.txt e mais
    outras coisas pra informações; Além disso, quem desejar pode me escrever
    para o meu e-mail, que
    no que eu puder, ajudo!

    E bom… Não esqueçam do audio, gente, é bem complicado, por exemplo, a
    gente querer se cadastrar em um site, comentar em um blog, criar um
    e-mail, ETC… E dar de cara com a imagem e não saber o que fazer por
    que não tem outra alternativa. E como já disse, pior ainda é ter o link
    de áudio, mas em uma qualidade tão ruim que não dá pra entender, e ver
    que o site continua inacessível mesmo que “tente dizer o contrário”!

    Quero, pra terminar, fazer alguns agradecimentos especiais:

    Ào pessoal da comunidade PHP Brasil, no orkut, que me ajudou muito,
    E ào pessoal da lista PHP-Pt, que também ajudou bastante.

    Quem ainda não leu, por favor leia o documento sobre captcha na página
    acessibilidadelegal; Vale apena, gente, e… Programadores preguiçosos
    que não tem paciência de desenvolver umas 5 ou 6 funções e forem lá ler
    isso, vão descobrir que captcha é em parte uma solução, mas em parte
    também um problema, e não deve ser a única coisa a usar.

    E, claro, quem leu essa coisa aqui e chegou até o fim onde estamos
    agora… Não se esqueça de comentar!

    Abração e.. A gente se fala… Nos comentários!

    Fernando