먼저 다음 프로그램을 사용하여 인증 코드 이미지를 얻을 수 있습니다. 프로그램이 이미지를 생성할 때 세션 변수가 조정된다는 점에 유의하세요.
getImage.php
include('kcaptcha.php');
session_start();
$captcha = 새로운 KCAPTCHA();
$_SESSION['captcha_keystring'] = $captcha->getKeyString();
?>
다음으로, 다음 양식을 통해 인증코드 이미지를 호출하여, 사용자가 입력한 인증코드 이미지 값이 일치하는지 확인합니다.
index.php
session_start();
$true_key_string = $_SESSION['captcha_keystring' ];
echo $true_key_string;
?>
if(isset($_SESSION['captcha_keystring']) && $true_key_string == $_POST['keystring'])
{
echo "정확함";
}else
{
echo "틀렸어요";
}
?>
그럼 Cakephp에서 Captcha를 어떻게 사용하나요?
먼저 Kcaptcha 폴더를 Vendor 디렉터리에 복사하세요. 확인 코드는 많은 컨트롤러에서 사용되므로 이미지 생성과 확인이라는 두 가지 기능을 포함하는 구성 요소로 이 기능을 캡슐화하는 것이 가장 좋습니다. 컨트롤러/컴포넌트 디렉터리에 새 captcha.php 파일을 만듭니다.
class CaptchaComponent 확장 객체 {
var $Controller = null ;
함수 시작(&$controller)
{
$this->Controller = $controller;
}
function render()
{
App::import('vendor', 'kcaptcha/kcaptcha');
$kcaptcha = 새로운 KCAPTCHA();
$this->Controller->Session->write('captcha', $kcaptcha->getKeyString());
종료;
}
function checkCaptcha($str)
{
if ($this->Controller-> ;세션->check('captcha'))
{
$s_captcha = $this->Controller->Session->read('captcha');
if(!empty($str) && $str == $s_captcha)
{
return true;
}
}
false 반환;
}
}
?>
다음으로 뷰에서 인증 코드 이미지를 호출하려면 컨트롤러(예: 사용자 컨트롤러)에 Captcha 구성 요소를 추가하면 됩니다. 또는 별도의 Captchas 컨트롤러를 만들어 인증 코드 이미지를 생성하세요.
클래스 CaptchasController는 AppController를 확장합니다. {
var $ name = 'Captchas';
var $uses = array();
var $comComponents = array('Captcha');
var $helps = array(' 캐시');
var $cacheAction = true;
function index() {
Configure::write('debug', '0 ');
$this->autoRender = false;
$this->Captcha->render();
}
}
?>
위 내용은
Cakephp에서 보다 안전한 인증코드를 구현하기 위해 Captcha를 사용한 내용입니다. 중국사이트(www.php.cn)!