Jump to content

[PHP] CAPTCHA muito básico


Recommended Posts

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.

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Link to comment
Share on other sites

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

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

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

<3 life

Link to comment
Share on other sites

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

Se pensares bem, é baseado em true/false 😄

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Link to comment
Share on other 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 ?

Link to comment
Share on other 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.

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Link to comment
Share on other 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.

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.