Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.04.2013, 09:49
serega6531 serega6531 вне форума
Начинающий
 
Регистрация: 03.03.2013
Сообщения: 106
Версия Delphi: Delphi 7, XE5
Репутация: 10
Вопрос Minecraft лаунчер

Значит так. Я делаю minecraft лаунчер для моего сервера и мне нужно сделать подключение к php странице на сервере и получить номер сессии.
Подключаться надо к auth.php
PHP код:
\ <?php
define
('INCLUDE_CHECK',true);
require_once 
'functions.php';
include (
"connect.php");
$login=$_POST['user'];
$password=$_POST['password'];
$ver=$_POST['version'];

        if(
getGameInfo('launcher') == $ver){

            
$result mysql_query("SELECT $db_columnPass FROM $db_table WHERE $db_columnUser='$login'") or die ("Запрос к базе завершился ошибкой."); //извлекаем из базы все данные о пользователе с введенным логином
                
$myrow mysql_fetch_array($result);

            
$realPass $myrow[$db_columnPass];

                if (
checkPass($realPass,$password)) 
                {
                    
$sessid generateSessionId();
                    
$gamebuild=getGameInfo('build');

                    
mysql_query("UPDATE $db_table SET $db_columnSesId='$sessid' WHERE $db_columnUser = '$login'") or die ("Запрос к базе завершился ошибкой.");

                    
$dlticket md5($login);
                    echo 
$gamebuild.':'.$dlticket.':'.$login.':'.$sessid.':';
                }
            else {
                echo 
"Bad login";
                }
        }
        else{
            echo 
'Old version';
            }
?> 
functions.php
PHP код:
<?php
if(!defined('INCLUDE_CHECK')) die('У вас нет прав на выполнение данного файла!');

function 
generateSessionId(){
    
// generate rand num
    
srand(time());
    
$randNum rand(10000000002147483647).rand(10000000002147483647).rand(0,9);
    return 
$randNum;
}

function 
getGameInfo($type){
    include (
"connect.php");
    switch(
$type){
    case 
'build':
        
$query mysql_query("SELECT * FROM $db_GameDatatable WHERE $db_Propertycolumn = 'latest-game-build'") or die ("Запрос к базе завершился ошибкой.");    
            
$resource mysql_fetch_array($query);
            return 
$resource[$db_Valuecolumn];
    break;

    case 
'launcher':
        
$query mysql_query("SELECT * FROM $db_GameDatatable WHERE $db_Propertycolumn = 'launcher-version'") or die ("Запрос к базе завершился ошибкой."); 
            
$resource mysql_fetch_array($query);
            return 
$resource[$db_Valuecolumn];
    break;

    }
}

function 
checkPass($realPass,$password){
            if (
strlen($realPass) == 32)
            {
                
$cp md5($password);
            }
            else {
                if(
strpos($realPass,'$SHA$') !== false)
                {
                    
$ar preg_split("/\\$/",$realPass);
                    
$salt $ar[2];
                    
$cp '$SHA$'.$salt.'$'.hash('sha256',hash('sha256',$password).$salt);
                }
                else
                {
                    
$saltPos = (strlen($password) >= strlen($realPass) ? strlen($realPass) : strlen($password));
                    
$salt substr($realPass$saltPos12);
                    
$hash hash('whirlpool'$salt $password);
                    
$cp substr($hash0$saltPos) . $salt substr($hash$saltPos);
                }
            }
            
            if (
$realPass==$cp) {
                return 
true;
            }
            else {
                return 
false;
            }
}
?>
Подскажите, как это сделать?
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:20.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter