Pular para o conteúdo principal

CAPTCHA - Faça você mesmo

CAPTCHA é uma ferramenta antispan muito útil para formulários Web e aqui eu mostrarei uma maneira de fazer um CAPTCHA simples que, pelo menos pra mim, ajudou e muito, sem precisar recorrer à códigos de terceiros.

No meu caso eu criei imagens de dados, ou seja, seis imagens com cada face de um dado, nomeando as imagens de 1 à 6, gerando os arquivos 1.png, 2.png... e assim por diante até 6.png, todas as imagens foram colocadas em uma pasta chamada "dice".

     

1) Na página do formulário eu criei um código PHP desta forma:

<?php
$control = rand(1,6);
?>

2) Seguido de um input hidden para enviar o número gerado:

<input type="hidden" id="control" name="control" value="<?=$control?>">

3) Depois segue o código que irá mostrar a imagem correspondente:

<img src="dices/<?=$control?>.png"><br>

4) E a seguir um campo onde o usuário deverá digitar o número do dado mostrado:

<label>Digite o número que aparece no Dado</label><br>
<input name="control_in" id="control_in" type="text">

5) Então seu formulário vai passar duas variáveis, a control e a control_in. Agora, em seu ACTION do Form, deve-se ter então a verificação se a informação é verdadeira, ficando, por exemplo, assim:

if ($control != $control_in)
{
echo "
<script>
alert('Houve um erro na verificação. Volte e tente novamente.');
window.history.go(-1);
</script>
";
exit;
}


Você pode parar por aí, mas vale também acrescentar mais uma ferramenta, que é a verificação de onde o formulário está sendo usado:

if ($_SERVER['SERVER_NAME'] != "seudominio_sem_o_www.com.br")
{
echo "
<script>
alert('Houve um erro de chamada de função.');
window.history.go(-1);
</script>
";
exit;
}

É um código simples e muito útil.





Comentários

Postagens mais visitadas deste blog

Windows 10 pedindo credenciais para acessar rede local

Em uma rede com acesso estabelecido entre computadores rodando Windows 7 e Windows 10, um novo micro foi inserido e ocorreu este pequeno problema, ao acessar um micro da rede a partir deste novo Windows 10, havia o pedido de credenciais. O que estava diferente neste Windows 10 para outros da rede é que este não entrava com uma conta local, mas sim com uma conta Microsoft. Como os demais micros de rede não contavam com senha e sabemos que as credenciais para contas locais necessitam de senha para funcionar é aqui que está a solução. Neste caso, onde há pedido de credenciais a partir de um micro que faz login com uma conta Microsoft ao invés de uma conta local, o sistema de credenciais aceita a entrada sem senha , apenas com o nome do usuário. Portanto, ao se deparar com este detalhe, entre com o nome do usuário do micro, deixe a senha em branco e marque para salvar as informações.

Windows 10 clonado não dá Boot - Como reparar

Independente da ferramenta utilizada, em alguns casos, após a clonagem do HD, geralmente para um SSD, um erro ocorre e o Windows não consegue ser carregado. Seguem aqui alguns passos para o reparo do Boot do Windows 10. É importante que a clonagem tenha ocorrido sem outros erros. Será necessário dar um Boot por meio de um disco ou pendrive de instalação do Windows 10. Lembrando que para isso será preciso, por ventura, acessar a BIOS do dispositivo para a escolha desse Boot. Uma vez iniciado o micro que seguiria com uma instalação, deve-se escolher REPARAR SEU COMPUTADOR. Em Resolução de Problemas, vá até LINHA DE COMANDO para acessar o Prompt e executar os comandos abaixo via Diskpart. Aqui vamos atribuir uma Letra para a unidade do sistema para termos acesso à ela. Digite os comandos abaixo no Prompt: 1. Diskpart 2. list volume 3. select volume # (# é o número do volume onde a coluna Informações deve indicar System, ou Sistema, ou ainda que essa partição tenho o tamanho de 500MB ou 26...

Bloqueio de execução do Diebold - Warsaw

Eu não quero entrar em discussão sobre os sistemas de proteção da maioria dos bancos, que na verdade protegem as instituições..., enfim. Mas o tal Warsaw tem causado alguma dor de cabeça aos usuários. São instalados praticamente da mesma maneira que qualquer praga/vírus, sem o conhecimento do usuário, e vem junto com o sistema de proteção de alguns bancos que não podem ser removidos. A saída seria o bloqueio da execução desta praga. Por meio do GPEDIT tenho obtido resultados positivos, por enquanto. 1) No menu iniciar clique executar e digite o comando GPEDIT.MSC 2) Na árvore à esquerda em "Configuração do Usuário/Modelos Administrativos/Sistema/" 3) Em Sistema você encontrará "Não executar aplicativos do Windows especificados". 4) Execute a opção e ecolha "Ativado". 5) No botão Mostrar  » Adicionar digite o nome no programa que não quer que o Windows execute, que no caso é: core.exe Edição: Encontre o caminho do arquivo core.exe e fa...