summaryrefslogtreecommitdiff
path: root/inc/imgcaptcha.php
diff options
context:
space:
mode:
Diffstat (limited to 'inc/imgcaptcha.php')
-rw-r--r--inc/imgcaptcha.php24
1 files changed, 17 insertions, 7 deletions
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 @@
<?php
// Wiem, ze ten kod to czysta ohyda. Coz.
- require("ic-encrypt.php");
+ require_once("inc/functions.php");
+ require_once("inc/ic-encrypt.php");
+
+ global $config;
+
function getImages() {
- $lines = split("\n",file_get_contents($config["imgcaptcha_list"]));
- for($i=0;$i<count($lines);$i++) { $lines[$i] = split(",",$lines[$i]); }
+ global $config;
+ $lines = explode("\n",file_get_contents($config["imgcaptcha_list"]));
+ for($i=0;$i<count($lines);$i++) { $lines[$i] = explode(",",$lines[$i]); }
return $lines;
}
function getIPath($img) {
+ global $config;
return $config["imgcaptcha_images"] . "/" . $img;
}
function pickImage($lines) {
$src = FALSE;
while($src == FALSE) {
$pick = rand(0,count($lines)-1);
- $src = imagecreatefrompng(getIPath($lines[$pick][0]));
+ if($lines[$pick][0] != "") $src = imagecreatefrompng(getIPath($lines[$pick][0]));
}
imagedestroy($src);
return $pick;
@@ -33,16 +39,18 @@
return $str;
}
function generateCaptchaHash() {
+ global $config;
$lines = getImages();
$pick = pickImage($lines);
$enctext = $pick . ",," . time() . ",," . $_SERVER["REMOTE_ADDR"] . ",," . randString(12);
$converter = new Encryption;
- return $converter->encode($enctext);
+ return $converter->encode($config["imgcaptcha_key"],$enctext);
}
function ic_verifyHash($enctext, $output) {
+ global $config;
//print "VERIFY: " . $enctext . " " . $output . "<br>";
$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