<?php
/*
Функции работы защиты с помощью картинок.
Автор: Denvas
*/
//==================================================//
/*
генерация цифры в зависимости от времени и браузера клиента
*/
function NumImg($tm=0){
global $user_agent, $ip, $antifraud_key;
if(empty($tm))$tm=(int)(time()/(10*60));
$start=abs(crc32($tm.$user_agent.$ip.$antifraud_key));
mt_srand((double)$start);
$res=mt_rand(10000,99999);
mt_srand((double)microtime()*1000000);
return $res;
};
//==================================================//
/*
контрольная сумма
*/
function SecureSum($img){
global $user_agent, $ip, $antifraud_key;
return md5($img.$user_agent.$ip.$antifraud_key);
};
//==================================================//
/*
проверка контрольной суммы
*/
function SecureCheck($checksum,$img){
//в текущие 10 минут
if($img==NumImg())return true;
//в предыдущие 10 минут
if($img==NumImg((int)(time()/(10*60))-1))return true;
return false;
};
//==================================================//
function SecureImage($img){
$img.="";
$rnd=mt_rand(0,10000000);
return array($img,"<img src='img.php?ses='".$rnd."'/>",$rnd);
};
?>