View file secure.php

File size: 1.33Kb
<?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);
    };

?>