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...

Habilitar o usuário Administrador e acessar C$ via rede.

Em algumas versões do Windows é possível, por meio do Gerenciador do Computador, ativar e desativar contas de usuários incluindo a conta Administrador, porém em algumas versões isso somente é possível por meio de linha de comando. Com o usuário Administrador ativo, além de outras coisas, pode-se acessar todas as pastas do micro via rede por meio do compartilhamento padrão C$, mas o Administrador deverá obrigatoriamente estar configurado com uma senha. Este acesso pode ser feito com o seguinte caminho: \\nomedocomputador\c$\ Para ativar o usuário Administrador abra o prompt de comando como administrador do sistema clicando sobre o ícone com o botão de direito do mouse e escolhendo “Executar como Administrador”. (Iniciar » Todos os Programas » Acessórios » Prompt de comando). Digite a linha de comando: net user administrador /active:yes No menu Inciar » Executar, digite o comando “ control userpasswords2 ” (sem as aspas) para abrir o gerenciador de contas de usuário...