From d1875fd32e0aa7a093544b5decd0b43499424d4f Mon Sep 17 00:00:00 2001 From: xue <> Date: Thu, 30 Aug 2007 15:40:24 +0000 Subject: further enhanced TCaptcha. --- framework/Web/UI/WebControls/TCaptchaValidator.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'framework/Web/UI/WebControls/TCaptchaValidator.php') diff --git a/framework/Web/UI/WebControls/TCaptchaValidator.php b/framework/Web/UI/WebControls/TCaptchaValidator.php index 4385bbfe..6d2c8f4c 100644 --- a/framework/Web/UI/WebControls/TCaptchaValidator.php +++ b/framework/Web/UI/WebControls/TCaptchaValidator.php @@ -102,16 +102,23 @@ class TCaptchaValidator extends TBaseValidator $control=$this->findCaptchaControl(); if($control->getCaseSensitive()) { - $options['TokenHash']=crc32($control->getToken()); + $options['TokenHash']=$this->generateTokenHash($control->getToken()); $options['CaseSensitive']=true; } else { - $options['TokenHash']=crc32(strtoupper($control->getToken())); + $options['TokenHash']=$this->generateTokenHash(strtoupper($control->getToken())); $options['CaseSensitive']=false; } return $options; } + + private function generateTokenHash($token) + { + for($h=0,$i=strlen($token)-1;$i>=0;--$i) + $h+=ord($token[$i]); + return $h; + } } ?> \ No newline at end of file -- cgit v1.2.3