ÇáÓáÇã Úáíßã æÑÍãÉ Çááå æÈÑßÇÊå

ÎÏãÉ Hsoub CAPTCHA ÊæÝøÑ API áßÈÊÔÇ ÊÏÚã ÇááÛÉ ÇáÚÑÈíÉ, ÎÏãÉ ÌãíáÉ ÌÏÇð :
ãÇÐÇ ÊÚäí ßÇÈÊÔÇ¿
ßÇÈÊÔÇ åí ÊÑÌãÉ ÍÑÝíÉ ááãÕØáÍ ÇáÅäßáíÒí CAPTCHA æÇáÊí ÊãËá ÇáÃÍÑÝ ÇáÃæáì áÌãáÉ "ÇÎÊÈÇÑ ÊæÑíäÌ ÇáÃæÊæãÇÊíßí ÇáÚÇã ááÊãííÒ Èíä ÇáÍÇÓæÈ æÇáÅäÓÇä". ÊÓÊÎÏã ÇáßÇÈÊÔÇ ßãÍÇæáÉ ááÊÝÑíÞ Èíä ÇáÃÔÎÇÕ æÇáÍæÇÓíÈ Úä ØÑíÞ ÊæáíÏ ÊÍÏí íãßä Íáå ÈÓåæáÉ ÈæÇÓØÉ ÇáÅäÓÇä æíÕÚÈ Úáì ÇáÍÇÓæÈ.
ßÊÈÊ æõÍÏÉ Python æ Perl áÊæÇÕá ãÚåÇ æÊãßäÇäß ãä ÅÓÊÎÏÇã åÐå ÇáÎÏãÉ Ýí ÊØÈíÞß.
äÓÎÉ PyHcaptcha :
from Hcaptcha import Hcaptcha
data = {
'hcaptcha_language' : '[ar/en]',
'hcaptcha_key' :'[KEY]',
'hcaptcha_challenge':'[CHALLENGE]',
'hcaptcha_input' :'[INPUT]',
}
timeout = 3
ssl = True
captcha = Hcaptcha(data, timeout, ssl)
if captcha.is_valid():
print "Yep!"
else:
print "Nop!"
åÐå ÇáÓÎÉ ÇáÎÇÕÉ ÈÜPython, ØÑíÞÉ ÇáÅÓÊÎÏÇã ÈÓíØÉ. ÝÞØ ÅÓÊæÑÏ åßÐÇ :
from Hcaptcha import Hcaptcha
æáÅÓÊÎÏÇãåÇ, ÃäÔÆ ßÇÆä ÌÏíÏ :
captcha = Hcaptcha(data, timeout=5, ssl=True)
ÊÃÎÐ Hcaptcha ËáÇËø ãõÚÇãáÇÊ :
1- ãÊÛíøÑ ãä ÞÇãõæÓ Dic ÊÖÚø ÈåÇ : hcaptcha_input æ hcaptcha_challenge æ hcaptcha_key æ hcaptcha_language. ßáø åÐå ÇáãõÊÛíøÑÇÊ ÓÊÃÊí ãÚ ØáÈ ÇáãõÓÊÎÏã.
2- ãÊÛíøÑ ÚÏÏ ÕÍíÍ int ÞíøãÉ ÇáÜtimeout. åÐå ÇáÞíøãÉ ÊõÍÏÏ ÈåÇ ÇáãõåáÉ ÇáÊí íäÊÙÑ ÈåÇ ÇáÊØÈíÞ ÑÏø ÎÇÏã ÍÓøæÈ ÞÈá Ãä íÚÊÈÑ Ãä ÇáãõåáÉ ÅäÊåÊ. ÈÔßá ÞíÇÓí ÞíãÊåÇ 5 ËæÇäò.
3- ãÊÛíøÑ ãäØÞí True Ãæ False ÞíøãÉ ÇáÜSSL. åõäÇ íãßäß Çä ÊÍÏÏ äæÚ ÇáÅÊÕÇá ÚäÏ ÇáÅÊÕÇá ÈÎÇÏã ÍÓæÈ, ÅÐÇ ßäÊ ÊÑÛÈ ÈÃä íÓÊÎÏã ÇáÊØÈíÞ ÇáÅÊÕÇá ÇáãõÔÝÑ ÖÚåÇ True
ÃãøÇ ÅÐÇ ßõäÊ ÊÑíÏ Ãä íÓÊÎÏã ÇáÅÊÕÇá ÇáÚÇÏí, ÖÚåÇ False. ÇáÓÈÈ Ýí åÐÇ Ãäø ÇáÅÊÕÇá ÇáãõÔÝøÑ ÃÈØÃ ÞáíáÇð ãä ÇáÚÇÏí. ÞíãÊåÇ ÇáÅÝÊÑÇÖíÉ True.
ááÊÍÞÞ ãä ãõÏÎáÇÊ ÇáãõÓÊÎÏã, íãßä Úãá åÐÇ ãä ÎáÇá ÇáæõÙíÞÉ is_valid :
ÊõÚíÏ is_valid ÚäÏ ÅäåÇÁ ÚãáåÇ ÞíãÊíä, ÅãøÇ True æÐáß íÚäí Ãäø ÇáãõÏÎáÇÊ ÓáíãÉ æ False ããÇ íÚäí Ãä ÇáãõÏÎáÇÊ áÓíÊ ÕÍíÍÉ.
íõæÌÏ ãËÇá ÈÅÓÊÎÏÇã ÇáÅØÇÑ Bottle ãÑÝÞ Ýí ÇáãõÌáøÏ Example, áÊÔÛíá ÇáãËÇá, ÛíøÑ ÇáãÓÇÑ Åáì ãÓÇÑ åÐÇ ÇáãõÌáÏ æÅßÊÈ :
æíõãßäß ÊÕÝÍ æÊÌÑÈÉ ÇáãËÇá ÈÇáÐåÇÈ áááÕÝÍÉ http://127.0.0.1:2200.
ÇáÊÍãíá : PyHcaptcha.tar.gz
ÈÕãÉ ÇáãáÝ :
SHA1(PyHcaptcha.tar.gz)= 23700c378099b2ca20be492182c54d0b8bf9d67e
MD5(PyHcaptcha.tar.gz)= c57e3a6ff93cf979bbc5acf49c4a013b
äÓÎÉ PlHcaptcha :
use Hcaptcha;
my $data = {
'hcaptcha_language' => '[ar/en]',
'hcaptcha_key' => '[KEY]',
'hcaptcha_challenge'=> '[CHALLENGE]',
'hcaptcha_input' => '[INPUT]',
}
my $timeout = 3;
my $ssl = on;
my $captcha = Hcaptcha->new($data);
$captcha->{'ssl'} = $ssl;
$captcha->{'timeout'} = $timeout;
if( $captcha->is_valid() ){
print "Yep!\n";
} else {
print "Nop!\n";
}
åÐå ÇáÓÎÉ ÇáÎÇÕÉ ÈÜPerl, äÇÏ Úáì ÇáæõÍÏÉ åßÐÇ :
æáÅÓÊÎÏÇãåÇ, ÃäÔÆ ßÇÆä ÌÏíÏ :
my $captcha = Hcaptcha->new($data);
ÊÃÎÐ ãõÚÇãá æÇÍÏ ãä äæÚ hash reference ÖÚø ÈåÇ : hcaptcha_input æ hcaptcha_challenge æ hcaptcha_key æ hcaptcha_language.
ãõåáÉ ÅäÊÙÇÑ ÑÏø ÎÇÏã ÍÓøæÈ 5 ËæÇäí, ÅÐÇ ÃÑÏÊ ÊÛííÑ ÞíãÊåÇ, íõãßäß ÊÛíÑåÇ åßÐÇ :
$captcha->{'timeout'} = 5;
ÈÔßá ÅÝÊÑÇÖí, ÇáÅÊÕÇá íÓÊÎÏã ÇáÜHTTPS, ÅÐÇ ÃÑÏÊ ÊÛíÑå Åáì HTTP, ÛíÑåÇ åßÐÇ :
$captcha->{'ssl'} = 'off';
æááÊÍÞÞ ãä ãõÏÎáÇÊ ÇáãõÓÊÎÏã, íãßä Úãá åÐÇ ãä ÎáÇá ÇáæõÙíÞÉ is_valid :
ÊõÚíÏ is_valid ÚäÏ ÅäåÇÁ ÚãáåÇ ÞíãÊíä, ÅãøÇ 1 æÐáß íÚäí Ãäø ÇáãõÏÎáÇÊ ÓáíãÉ Ãæ ÞíãÉ ÝÇÑÛÉ undef ããÇ íÚäí Ãä ÇáãõÏÎáÇÊ áÓíÊ ÕÍíÍÉ.
íõæÌÏ ãËÇá áÊØÈíÞ æõÈ íÓÊÎÏãåÇ Ýí ÇáãõÌáøÏ Example, ÊÃßøÏ Ãä ÇáãáÝ webapp íÍãá ÕáÇÍíøÉ ÇáÊäÝíÐ Ëõã ÅäÓÎ ãÍÊæíÇÊå ááãÌáøÏ cgi-bin ÇáÎÇÕ ÈÃÈÇÊÔí, æíõãßäß ÊÕÝÍ æÊÌÑÈÉ ÇáãËÇá ÈÇáÐåÇÈ áááÕÝÍÉ http://localhost/cgi-bin/webapp.
ÇáÊÍãíá : PlHcaptcha.tar.gz
ÈÕãÉ ÇáãáÝ :
SHA1(PlHcaptcha.tar.gz)= ac4e067f4598684de1c14ed62fa705733f1d8fce
MD5(PlHcaptcha.tar.gz)= d089114cfa142b4445b70426de786a55
ßáÇ ÇáãÔÑæÚíä ÈÇáÅÕÏÇÑ v0.1 æáßäåãÇ ÌÇåÒÇä ÝÚáíÇð, ÇáÐí íäÞÕ ßÊÇÈÉ ÇáÊæËíÞ æãáÝÇÊ ÇáÜsetup æÇáÇ Ýíãßäß ÇáÈÏÁ ÈÅÓÊÎÏÇãåãÇ ÝæÑÇð.
ãÑÌÚ íåãß : http://captcha.hsoub.com/developers
ÈÇáÊæÝíÞ
ãæÇÞÚ ÇáäÔÑ (ÇáãÝÖáÉ)