Com compositor:
{
...
"require" : {
"gregwar/captcha" : " 1.* "
}
}
Você pode criar um captcha com o CaptchaBuilder
:
<?php
use Gregwar Captcha CaptchaBuilder ;
$ builder = new CaptchaBuilder ;
$ builder -> build ();
Você pode então salvá-lo em um arquivo:
<?php
$ builder -> save ( ' out.jpg ' );
Ou produza-o diretamente:
<?php
header ( ' Content-type: image/jpeg ' );
$ builder -> output ();
Ou incorpore-o diretamente na página HTML:
<img src=" <?php echo $ builder->inline(); ?> " />
Você poderá obter o código e compará-lo com uma entrada do usuário:
<?php
// Example: storing the phrase in the session to test for the user
// input later
$ _SESSION [ ' phrase ' ] = $ builder -> getPhrase ();
Você pode comparar a frase com a entrada do usuário:
if ( $ builder -> testPhrase ( $ userInput )) {
// instructions if user phrase is good
}
else {
// user phrase is wrong
}
Você pode usar essas funções:
build()
true
se o OCR puder ser lido usando o software ocrad
, você precisará ter o shell_exec habilitado, o imagemagick e o ocrad instaladosocrad
Se quiser alterar o número de caracteres, você pode chamar o construtor de frases diretamente usando parâmetros extras:
use Gregwar Captcha CaptchaBuilder ;
use Gregwar Captcha PhraseBuilder ;
// Will build phrases of 3 characters
$ phraseBuilder = new PhraseBuilder ( 4 );
// Will build phrases of 5 characters, only digits
$ phraseBuilder = new PhraseBuilder ( 5 , ' 0123456789 ' );
// Pass it as first argument of CaptchaBuilder, passing it the phrase
// builder
$ captcha = new CaptchaBuilder ( null , $ phraseBuilder );
Você também pode passar diretamente a frase desejada para o construtor:
// Building a Captcha with the "hello" phrase
$ captcha = new CaptchaBuilder ( ' hello ' );
Se você quiser ver um exemplo, você pode dar uma olhada no demo/form.php
, que usa demo/session.php
para renderizar um captcha e verificá-lo após o envio
Você pode dar uma olhada no seguinte repositório para aproveitar o pacote Symfony 2 que empacota este gerador de captcha: https://github.com/Gregwar/CaptchaBundle
Você pode usar a seguinte extensão para integração com o Yii2 Framework: https://github.com/juliardi/yii2-captcha
Esta biblioteca está sob licença MIT, dê uma olhada no arquivo LICENSE