Heim  >  Artikel  >  Backend-Entwicklung  >  Verwendung von Captcha in Cakephp zur Implementierung sichererer Verifizierungscodes

Verwendung von Captcha in Cakephp zur Implementierung sichererer Verifizierungscodes

黄舟
黄舟Original
2016-12-20 09:17:121379Durchsuche

Zunächst können Sie das folgende Programm verwenden, um das Bestätigungscode-Bild abzurufen. Beachten Sie, dass die Sitzungsvariable angepasst wird, wenn das Programm das Bild generiert.

getImage.php

include('kcaptcha.php');

session_start();

$captcha = new KCAPTCHA();

$_SESSION['captcha_keystring'] = $captcha->getKeyString();

?>

Rufen Sie als Nächstes das Bestätigungscode-Bild über das folgende Formular auf und überprüfen Sie, ob die Benutzereingabe mit dem Bestätigungscode-Bildwert übereinstimmt.

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 „Richtig“;

}else

{

echo „Falsch“;

}

?>


Wie verwende ich Captcha in Cakephp?

Kopieren Sie zunächst den Kcaptcha-Ordner in das Herstellerverzeichnis. Da der Verifizierungscode in vielen Controllern verwendet wird, ist es am besten, diese Funktion mit einer Komponente zu kapseln. Diese Komponente umfasst zwei Funktionen: Bildgenerierung und Verifizierung. Erstellen Sie eine neue captcha.php-Datei im Verzeichnis „controllers/components“.

class CaptchaComponent erweitert Objekt {

var $Controller = null ;

Funktionsstart(&$controller)

{

$this->Controller = $controller;

}

function render()

{

App::import('vendor', 'kcaptcha/kcaptcha');

$kcaptcha = new KCAPTCHA();

$this->Controller->Session->write('captcha', $kcaptcha->getKeyString());

exit;

}

function checkCaptcha($str)

{

if ($this->Controller-> ;Session->check('captcha'))

{

$s_captcha = $this->Controller->Session->read('captcha');

if(!empty($str) && $str == $s_captcha)

{

return true;

}

}

return false;

}

}

?>


Um das Verifizierungscodebild in der Ansicht aufzurufen, können Sie als Nächstes die Captcha-Komponente zum Controller (z. B. dem Benutzer-Controller) hinzufügen. Oder erstellen Sie einen separaten Captchas-Controller, um Bestätigungscode-Bilder zu generieren.

Klasse CaptchasController erweitert AppController {


var $ name = 'Captchas';

var $uses = array();

var $components = array('Captcha');

var $helps = array(' Cache');

var $cacheAction = true;

function index() {

Configure::write('debug', '0 ');

$this->autoRender = false;

$this->Captcha->render();

}

}

?>

Das Obige ist der Inhalt der Verwendung von Captcha zur Implementierung eines sichereren Bestätigungscodes in

Cakephp. Für weitere verwandte Inhalte achten Sie bitte auf PHP Chinesische Website (www.php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn