========================================================================

    Zizai CAPTCHA

    n@\(@l) Midari Create  https://create.2pd.jp/

========================================================================

Zizai CAPTCHAPHPwebAvP[Vւ̑gݍ݂z肵쌠t[(pubNhC)̉摜F؃CułB
ݒ̂܂܂ł^pł铱̗eՂƁAy[WfUCɉF؉摜̐FEtHgAȂǂ̃JX^}CY̗ڎw݌vƂȂĂAf̃Xpey⃁[tH[̖f[}ȂǁAlXȗprɊpĂ܂B
܂ACAPTCHAƂĂ͈ʓIȉp̂قAЂ炪ȁAJ^Jił̔F؂ɂΉĂ܂B
̃tHgt@C͉pƃJ^Jî݂ɑΉĂ邽߁AЂ炪Ȃpꍇ͕ʓrЂ炪ȑΉ̃tHgt@CpӂKv܂B

ȂA{Cu܂߁A摜≹gpCAPTCHA͐lCp⍂xȐ[wwKgpsANZXɑ΂Ă͏\ȗ}ʂȂƂmĂ܂B
ɍMvprɂẮACAPTCHAłȂAdbԍLA[ȂǑ̔Fؕ@Ƃ̕p܂B


_/_/_/_/ @ _/_/_/_/

(1) _E[hZIPt@C𓀂Azizai_captchatH_webAvP[ṼtH_ɃRs[܂B

(2) zizai_captchatH_zizai_captcha.dbɊOANZXłȂ悤A.htaccesst@CNginxconft@CŃANZXېݒsĂB

(3) ȉ́yMz̃R[h摜F؂ݒuy[WHTMLtH[ɁAyMz̃R[htH[MPHPt@CɃRs[ΓłB

yMz(HTML)
<script src="zizai_captcha/captcha.js"></script>
<div id="zc_captcha_area"></div>
<script> zizai_captcha_get_html(function (html) { document.getElementById("zc_captcha_area").innerHTML = html; }); </script>

yMz(PHP)
include "zizai_captcha/main.php";
$zc = new zizai_captcha();
if ($zc->check($_POST["zizai_captcha_id"], $_POST["zizai_captcha_characters"])) {
    //ɔF؎̏LqĂ
} else {
    //ɋ⎞̏LqĂ
}

ȂAL̑MR[hł́Aݒuy[WɃANZX邽тɃT[oɂĔF؉摜̐s܂B
T[oׂ}ꍇ́Aȉ̂悤ɔF؉摜\邽߂̃{^ʂɗpӂāÃ{^onclickCxgzizai_captcha_get_html֐s悤ɂĂB

yM̗z(HTML)
<script src="zizai_captcha/captcha.js"></script>
<button type="button" onclick="zizai_captcha_get_html(function(html){ document.getElementById('zc_captcha_area').innerHTML = html; });">F؉摜\</button>
<div id="zc_captcha_area"></div>


_/_/_/_/ JX^}CY _/_/_/_/

zizai_captchatH_config.jsonҏW邱ƂŖ{Cűݒ\łB
config.json̐ݒl͈ȉ̂悤ɂȂĂ܂B

"db_path" : SQLitef[^x[Xt@C̃pX(config.json̂Kw)
"timeout_seconds" : F؉摜̗L(b)
"lockout_seconds" : F؂ɎsIPAhX̃bNAEg(b)
"image_height" : F؉摜̍(sNZ)
"char_count" : F؉摜ɕ\镶
"script" : F؉摜̕Ɏgppn(0:p, 1:Ђ炪, 2:J^Ji)
"fonts" : gptHgt@C̃pX(z1ȏwAconfig.json̂Kw)
"colors" : gpF(z2wAeF́A[R,G,B]̌`0`255̐lw)

ȂAF؉摜̉ɂẮA~ŎIɌ肳܂B

āAzizai_captcha_get_html(callback_func, button_color)̑2button_colorȗ"#ffffff"̂悤16i`ŐFw肷邱ƂɂACAPTCHA̍ēǂݍ݃{^̐FύX\łB
܂Azizai_captcha_get_html֐ɂo͂{^eLXg{bNX́AʏINPUTvfBUTTONvfƓlCSSɂX^Cw肪\łB

ڍׂȃJX^}CYKvȏꍇ́A{CuFossil|Wg( https://fossil.2pd.jp/zizai_captcha/ )ŊJҌhLgƂ\łB


_/_/_/_/  _/_/_/_/

{Cucaptcha.jsasyncdeferw肵script^OǂݍޏꍇAcaptcha.js̖`t߂Œ萔ƂăR[hĂet@CpXAOɑSĐ΃pXɏĂKv܂B


_/_/_/_/ CZX _/_/_/_/

̃\tgEFÁAn@\ n錾ɊÂĒ쌠Ă܂B
Ȃ闘pɑ΂Ă쌠ɂ鐧͔܂BcEc킸AǂȂłRɕAρA]ړĂ܂B
ȂAn錾̑Ś@https://www.2pd.jp/license/@B


:::::::::::: Ƃ ::::::::::::

EoO̕񍐓́AMidari Create(https://create.2pd.jp/)ւ肢܂B
