diff --git a/inc/ic-encrypt.php b/inc/ic-encrypt.php index c0f499bd..5d73126b 100644 --- a/inc/ic-encrypt.php +++ b/inc/ic-encrypt.php @@ -1,8 +1,6 @@ skey, $text, MCRYPT_MODE_ECB, $iv); + $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv); return trim($this->safe_b64encode($crypttext)); } - public function decode($value){ + public function decode($key, $value){ if(!$value){return false;} $crypttext = $this->safe_b64decode($value); $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB); $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); - $decrypttext = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $this->skey, $crypttext, MCRYPT_MODE_ECB, $iv); + $decrypttext = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $crypttext, MCRYPT_MODE_ECB, $iv); return trim($decrypttext); } } diff --git a/inc/imgcaptcha.php b/inc/imgcaptcha.php index 77441fce..ab6db68f 100644 --- a/inc/imgcaptcha.php +++ b/inc/imgcaptcha.php @@ -1,19 +1,25 @@ encode($enctext); + return $converter->encode($config["imgcaptcha_key"],$enctext); } function ic_verifyHash($enctext, $output) { + global $config; //print "VERIFY: " . $enctext . " " . $output . "
"; $converter = new Encryption; - $dectext = split(",,",$converter->decode($enctext)); + $dectext = explode(",,",$converter->decode($config["imgcaptcha_key"],$enctext)); if(count($dectext)<4) return true; $lines = getImages(); $pick = $dectext[0]; @@ -56,14 +64,16 @@ } function getPick($enctext) { + global $config; $converter = new Encryption; - $dectext = split(",,",$converter->decode($enctext)); + $dectext = explode(",,",$converter->decode($config["imgcaptcha_key"],$enctext)); if(count($dectext)<=1) return; //SC $lines = getImages(); return $dectext[0]; } function generateImage($enctext) { + global $config; $lines = getImages(); $pick = getPick($enctext); if(!isset($lines[$pick])) return; //SC diff --git a/post.php b/post.php index 16566b51..f21b6164 100644 --- a/post.php +++ b/post.php @@ -6,6 +6,7 @@ require 'inc/functions.php'; require 'inc/anti-bot.php'; +require 'inc/imgcaptcha.php'; // Fix for magic quotes if (get_magic_quotes_gpc()) { @@ -192,7 +193,12 @@ if (isset($_POST['delete'])) { error($config['error']['captcha']); } } - + if ($config['imgcaptcha']) { + if (!isset($_POST['imgcaptcha_verify']) || !isset($_POST['imgcaptcha_hash'])) + error($config['error']['bot']); + if (ic_verifyHash($_POST['imgcaptcha_hash'],$_POST['imgcaptcha_verify'])) + error($config['error']['captcha']); + } if ($post['mod'] = isset($_POST['mod']) && $_POST['mod']) { require 'inc/mod.php'; if (!$mod) {