Captcha官方php
Captcha下載安全
http://www.captcha.ru/en/kcaptcha/session
使用Captcha能夠實現安全的驗證碼功能,Captcha提供了多種風格和樣式的風格好比app
使用方法超級簡單框架
getImage.phpoop
1.
<?php
2.
session_start();
3.
include
(
'kcaptcha.php'
);
4.
$captcha
=
new
KCAPTCHA();
5.
?>
index.phpthis
1.
<html>
2.
<body>
3.
<img src=
"getImage.php"
/>
4.
</body>
5.
</html>
Captcha會自動在Session中設置一個值來保存已經生成的驗證碼,要判斷驗證碼是否正確,能夠這樣作:spa
1.
//Captche會自動在Session中存儲一個名爲captcha_keystring的字符串
2.
//只要驗證一下提交的驗證碼是否和它相等就OK了
3.
4.
if
(isset($_SESSION[
'captcha_keystring'
]) && $_SESSION[
'captcha_keystring'
] == $_POST[
'keystring'
]){
5.
echo
"Correct"
;
6.
}
else
{
7.
echo
"Wrong"
;
8.
}
那麼,如何在Cakephp中使用Captcha呢?debug
介紹一下, Yoophi 在Cakephp經過組件方式使用Captcha的方法
將kcaptcha文件夾拷貝到vendors目錄
在components中寫一個新的組件
代碼以下:
01.
<?php
02.
class
CaptchaComponent
extends
Object {
03.
var
$Controller
= null;
04.
05.
function
startup(&
$controller
)
06.
{
07.
$this
->Controller =
$controller
;
08.
}
09.
10.
function
render()
11.
{
12.
App::import(
'vendor'
,
'kcaptcha/kcaptcha'
);
13.
$kcaptcha
=
new
KCAPTCHA();
14.
$this
->Controller->Session->write(
'captcha'
,
$kcaptcha
->getKeyString());
15.
exit
;
16.
}
17.
18.
}
19.
?>
而後,寫一個生成驗證碼的方法,好比
01.
class
UsersController
extends
AppController {
02.
03.
var
$name
=
'Users'
;
04.
var
$components
=
array
(
'Captcha'
);
05.
06.
function
captcha() {
07.
Configure::write(
'debug'
,
'0'
);
08.
$this
->autoRender = false;
09.
$this
->Captcha->render();
10.
}
11.
12.
}
視圖中的調用
1.
echo
$html
->image(
array
(
'controller'
=>
'Users'
,
'action'
=>
'captcha'
));
驗證提交的驗證碼是否正確
01.
function
_checkCaptcha(
$model
) {
02.
if
(
$this
->Session->check(
'captcha'
)) {
03.
$s_captcha
=
$this
->Session->read(
'captcha'
);
04.
05.
if
(!
empty
(
$this
->data[
$model
][
'captcha'
]) &&
$this
->data[
$model
][
'captcha'
] ==
$s_captcha
) {
06.
return
true;
07.
}
08.
}
09.
10.
return
false;
11.
}
總結
Captcha是一個免費的驗證碼文件,使用方法超級簡單,可是安全性很高,配置方法簡單,能夠應用於多種開發程序框架
Captcha的配置文件爲kcaptcha_config.php
經過它能夠變動生成的圖片大小,樣式等內容,有興趣的話本身能夠看看!