Вход Регистрация
Файл: gamele.ru/includes/functions/HonorGates.php
Строк: 127
<?php
function unique_id(){
    return 
substr(md5(rand().'_'.microtime().'_'.rand()), rand(0, 15), 16);
}
function 
_hash_gensalt_private($input, &$itoa64, $iteration_count_log2 = 6){
    if (
$iteration_count_log2 < 4 || $iteration_count_log2 > 31){
        
$iteration_count_log2 = 8;
    }
    
$output = '$H$';
    
$output .= $itoa64[min($iteration_count_log2 + ((PHP_VERSION >= 5) ? 5 : 3), 30)];
    
$output .= _hash_encode64($input, 6, $itoa64); return $output;
}
function 
_hash_encode64($input, $count, &$itoa64){
    
$output = '';
     
$i = 0;
 
    do{
        
$value = ord($input[$i++]);
         
$output .= $itoa64[$value & 0x3f];
 
        if (
$i < $count){
            
$value |= ord($input[$i]) << 8;
        }
 
        
$output .= $itoa64[($value >> 6) & 0x3f];
 
        if (
$i++ >= $count){
            break;
        }
 
        if (
$i < $count){
            
$value |= ord($input[$i]) << 16;
        }
 
        
$output .= $itoa64[($value >> 12) & 0x3f];
 
        if (
$i++ >= $count){
            break;
        }
 
        
$output .= $itoa64[($value >> 18) & 0x3f];
    }
     while (
$i < $count);
 
    return 
$output;
}
function 
_hash_crypt_private($password, $setting, &$itoa64){
    
$output = '*';
    
// Check for correct hash
    
if (substr($setting, 0, 3) != '$H$'){
        return 
$output;
    }
    
$count_log2 = strpos($itoa64, $setting[3]);
    if (
$count_log2 < 7 || $count_log2 > 30){
        return 
$output;
    }
    
$count = 1 << $count_log2;
    
$salt = substr($setting, 4, 8);
    if (
strlen($salt) != 8){
        return 
$output;
    }
    if (
PHP_VERSION >= 5){
        
$hash = md5($salt . $password, true);
        do{
            
$hash = md5($hash . $password, true);
        }
         while (--
$count);
    }else{
        
$hash = pack('H*', md5($salt . $password));
        do{
            
$hash = pack('H*', md5($hash . $password));
        }
         while (--
$count);
    }
    
$output = substr($setting, 0, 12);
    
$output .= _hash_encode64($hash, 16, $itoa64);
    return 
$output;
}
function 
phpbb_hash($password){
    
$itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
    
$random_state = unique_id();
    
$random = '';
    
$count = 6;
    if ((
$fh = @fopen('/dev/urandom', 'rb'))){
        
$random = fread($fh, $count);
         
fclose($fh);
    }
    if (
strlen($random) < $count){
        
$random = '';
        for (
$i = 0; $i < $count; $i += 16){
            
$random_state = md5(unique_id() . $random_state);
            
$random .= pack('H*', md5($random_state));
        }
         
$random = substr($random, 0, $count);
    }
    
$hash = _hash_crypt_private($password, _hash_gensalt_private($random, $itoa64), $itoa64);
    if (
strlen($hash) == 34){
        return 
$hash;
    }
    return 
md5($password);
}
function 
phpbb_check_hash($password, $hash){
    
$itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
    if (
strlen($hash) == 34){
        return (
_hash_crypt_private($password, $hash, $itoa64) === $hash) ? true : false;
    }
 
    return (
md5($password) === $hash) ? true : false;
}
if(!empty(
$RegForm)){
    
mysql_query("INSERT INTO `Guild_Forum`.`phpbb_users` (`username`,`username_clean`,`user_email`,`user_email_hash`,`user_password`,`user_regdate`,`user_form_salt`,`group_id`, `user_permissions`,`user_ip`) VALUES ('".htmlspecialchars($_POST['nickname'])."','".strtolower(htmlspecialchars($_POST['nickname']))."','".htmlspecialchars($_POST['email'])."','".crc32(strtolower(htmlspecialchars($_POST['email'])) . strlen(htmlspecialchars($_POST['email'])))."','".phpbb_hash($_POST['psw_f'])."','".time()."','".unique_id()."','2','','".$_SERVER['REMOTE_ADDR']."');");
    
$LastForumID = mysql_insert_id();
    
mysql_query("INSERT INTO `Guild_Forum`.`phpbb_user_group` (`user_id`,`user_pending`,`group_id`) VALUES ('".$LastForumID."','0','2');");
    
mysql_query("UPDATE `Guild_Forum`.`phpbb_config` SET `config_value`=`config_value`+'1' WHERE `config_name`='num_users'");
    
mysql_query("UPDATE `Guild_Forum`.`phpbb_config` SET `config_value`='".$LastForumID."' where `config_name`='newest_user_id'");
    
mysql_query("UPDATE `Guild_Forum`.`phpbb_config` SET `config_value`='".htmlspecialchars($_POST['nickname'])."' where `config_name`='newest_username'");
}
Онлайн: 1
Реклама