• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

djthyrax

[PHP] CAPTCHA muito básico

8 mensagens neste tópico

Aqui fica um CAPTCHA muito básico, apenas proof of concept, usando operações + - e *.

<?php
session_start();

if($_GET['ois'] != $_SESSION['spam_verify']) echo "MAU MAU!<br />\n";
else echo "O HecKel eh feio <br />\n";

$ops = array('+', '-', '*');
$exp = rand(1, 10);
for($i = rand(2, 3); $i > 1; $i--)
$exp .= $ops[rand(0, 2)].rand(1, 10);

$_SESSION['spam_verify'] = eval("return $exp;");

echo $exp;
?> = ? <br />
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="GET">
<input type="text" name="ois" />
</form>

Quem quiser uma explicação, faça o favor de dizer.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Aqui fica um CAPTCHA muito básico, apenas proof of concept, usando operações + - e *.

else echo "O HecKel eh feio :D<br />\n";

Não devia ser baseado em "true/false" em vez de "+ / - / *"? :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não devia ser baseado em "true/false" em vez de "+ / - / *"? :thumbsup:

Se pensares bem, é baseado em true/false :D
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se pensares bem, é baseado em true/false :thumbsup:

A pergunta do captcha é que devia ser "O Heckel é feio?" e só aceitavas valor de true. :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Desculpem desenterrar isto, mas continua na wiki este tópico como tutorial e acho que este tipo de captcha de pouco serve.

Com recurso ao cURL pode ser facilmente contornado.

Já vi por ai códigos melhores não seria conveniente mudar a wiki ou pelo menos adicionar uma nota ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

http://wiki.portugal-a-programar.pt/dev_web:php:snippet:captcha_textual

Na wiki, existe um aviso (nota amarela), onde diz que o código é apenas uma prova de conceito (funciona). Acho que por si é suficiente para ver que não é fiável para uso em produção. Mas realmente fazia falta um captcha mais elaborado na wiki, para servir de base a coisas mais elaboradas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

De facto este sistema é bem fraquinho, se bem que por muito estúpido que seja já impede muitos bots de postar a torto e a direito. De qualquer maneira, estás à vontade para criar um exemplo mais elaborado, usando por exemplo a API da SAPO que é bastante simples de usar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora