Значит так. Я делаю 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(1000000000, 2147483647).rand(1000000000, 2147483647).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, $saltPos, 12);
$hash = hash('whirlpool', $salt . $password);
$cp = substr($hash, 0, $saltPos) . $salt . substr($hash, $saltPos);
}
}
if ($realPass==$cp) {
return true;
}
else {
return false;
}
}
?>
Подскажите, как это сделать?
![Непонимание](images/smilies/confused.gif)