Хостинг серверов Minecraft playvds.com
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Туториал [урок] система авторизации клиента

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем byxar, 6 ноя 2011.

  1. xvlad

    xvlad Старожил Пользователь

    Баллы:
    103
    Skype:
    xvladxtreme
    Нет поддержки Php (На платном да)
     
  2. Хостинг MineCraft
    <
  3. _Dimk_O_

    _Dimk_O_ Старожил Пользователь

    Баллы:
    123
    Skype:
    dimk__o
    закажи хостинг
    или тебе жалко 100р. в месяц?
     
  4. xvlad

    xvlad Старожил Пользователь

    Баллы:
    103
    Skype:
    xvladxtreme
    А если нету денег на хостингер иди там все можно организировать
     
    MrNITROmc нравится это.
  5. xvlad

    xvlad Старожил Пользователь

    Баллы:
    103
    Skype:
    xvladxtreme
    Я могу платно все настроить (Skype : xvladxtreme)
     
  6. _Dimk_O_

    _Dimk_O_ Старожил Пользователь

    Баллы:
    123
    Skype:
    dimk__o
    за это не стыдно деньги брать?)))
     
  7. xvlad

    xvlad Старожил Пользователь

    Баллы:
    103
    Skype:
    xvladxtreme
    немножко ), деньги сильно надо
     
  8. SVIDA

    SVIDA Старожил Пользователь

    Баллы:
    103
    Skype:
    rsvidenko
    Господа хорошие, может кто-то задавался вопросом запрет входа
    неподтверждённым пользователей (по email, на xenforо), поделитесь, пожалуйста, опытом
    я понимаю, как это должно быть реализовано (к проверки логина/пароля, ещё и добавить проверку активации), но не хотелось бы тратить уйму времени, если это уже кто-то сделал и не будет жадничать :)
     
  9. _Dimk_O_

    _Dimk_O_ Старожил Пользователь

    Баллы:
    123
    Skype:
    dimk__o
    там вот есть в базе в таблице xf_user есть поле user_state
    его и нужно проверять
    если в нем значение valid то разрешать вход, если в нем содержимое email_confirm или другое то выдавать соответственное сообщение.

    еще можно добавить подтверждение регистрации через админа.
    в панели управление прийдется каждого нового подтверждать вручную и после этого значение в бд изменяется на valid и он может войти.
    я еще добавил себе что если на форуме забанен, то и на сервер фиг попадешь)

    если учетка не проверена администратором то ответ такой:
    Снимок.PNG
    если забанен на форуме то такой:
    Снимок.PNG

    ответ не особо гениален, но мне как-то все равно)
     
    SVIDA нравится это.
  10. SVIDA

    SVIDA Старожил Пользователь

    Баллы:
    103
    Skype:
    rsvidenko
    С ответом не хочу замарачиваться, т.к. лаунчер дел ещё до нового года, а после все исходники были утеряны...посему что ответи-то ответит...касательно самого статуса подтверждения я знаю, меня больше интересует что и где ты правил...в самих php файликах
     
    Оригинало_о нравится это.
  11. _Dimk_O_

    _Dimk_O_ Старожил Пользователь

    Баллы:
    123
    Skype:
    dimk__o
    connect.php
    PHP:
    <?php
    if(!defined('INCLUDE_CHECK')) die('У вас нет прав на выполнение данного файла!');
    $crypt 'hash_xenforo';
    $db_host'localhost';// Ip-адрес базы данных
    $db_port'3306';// Порт базы данных
    $db_user'user';// Пользователь базы данных
    $db_pass'password';// Пароль базы данных
    $db_database'database_name';
    $db_table      'xf_user';
    $db_tabban      'xf_user_ban';//таблица с банами на сайте
    $db_columnId  'user_id';
    $db_columnUser  'username';
    $db_valid'user_state';//поле со статусом подтверждения юзера
    $db_columnPass  'data';
    $db_tableOther'xf_user_authenticate';
    $db_columnSalt'members_pass_salt';
    $db_columnSesId'sesId';
    $db_columnServer'serverId';
    $db_GameDatatable'data';
    /*
    НЕ МЕНЯТЬ #okay...#
    */
    $db_Propertycolumn 'property';
    $db_Valuecolumn 'value';
    $link = @mysql_connect($db_host.':'.$db_port,$db_user,$db_pass) or die('Невозможно установить соединение с базой данных!');
    mysql_select_db($db_database,$link);
    mysql_query("SET names UTF8");
    ?>
    auth.php
    PHP:
    <?php
    define
    ('INCLUDE_CHECK',true);
    require_once 
    'functions.php';
    include (
    "connect.php");
    $login $_POST['user'];
    $postPass=$_POST['password'];
    $ver=$_POST['version'];
     
    if(
    getGameInfo('launcher') == $ver){
     
    if (
    $crypt == 'hash_md5' || $crypt == 'hash_authme' || $crypt == 'hash_xauth' || $crypt == 'hash_cauth' || $crypt == 'hash_joomla' || $crypt == 'hash_wordpress' || $crypt == 'hash_dle' || $crypt == 'hash_drupal')
    {
    $row mysql_fetch_assoc(mysql_query("SELECT $db_columnUser,$db_columnPass FROM $db_table WHERE $db_columnUser='{$_POST['user']}'"));
    $realPass $row[$db_columnPass];
    }
     
    if (
    $crypt == 'hash_ipb' || $crypt == 'hash_vbulletin')
    {
    $row mysql_fetch_assoc(mysql_query("SELECT $db_columnUser,$db_columnPass,$db_columnSalt FROM $db_table WHERE $db_columnUser='{$_POST['user']}'"));
    $realPass $row[$db_columnPass];
    $salt $row[$db_columnSalt];
    }
     
    if (
    $crypt == 'hash_xenforo')
    {
    $row mysql_fetch_assoc(mysql_query("SELECT $db_table.$db_columnId,$db_table.$db_columnUser,$db_tableOther.$db_columnId,$db_tableOther.$db_columnPass,$db_table.$db_valid FROM $db_table$db_tableOther WHERE $db_table.$db_columnId = $db_tableOther.$db_columnId AND $db_table.$db_columnUser='{$_POST['user']}'"));
    $realPass substr($row[$db_columnPass],22,64);
    $salt=substr($row[$db_columnPass],105,64);
    $valid=$row[$db_valid];
    $id=$row[$db_columnId];
    $banned =mysql_query("SELECT user_id FROM $db_tabban WHERE user_id=$id");
    $banne=mysql_fetch_assoc($banned);
    $ban=mysql_num_rows($banned);
    }
     
    if (
    $ban==0)
    {
    if (
    $valid=='valid')
    {
    if (
    $realPass)
    {
    $checkPass $crypt();
    if(
    strcmp($realPass,$checkPass) == 0)
    {
    $sesid generateSessionId();
    $gamebuild=getGameInfo('build');
    mysql_query("UPDATE $db_table SET $db_columnSesId='$sesid' WHERE $db_columnUser = '$login'") or die ("Запрос к базе завершился ошибкой.");
    $dlticket md5($login);
    echo 
    $gamebuild.':'.$dlticket.':'.$login.':'.$sesid.':';
    }
    else{echo 
    "Не верный логин!";}
    }else {echo 
    "Не верный логин!";}
    }else {echo 
    "$login, твоя учетная запись не проверена!";}
    }else {echo 
    "$login Ты забанен на сайте, а значит и в игре!";}
    }
    else{
    echo 
    'Old version';
    }
    ?>
    на гениальность не претендую, делал лично для себя, так что на мнения мне =
    чует моя пятая точка что это нужно было бы сделать еще в connect.php, но мне лень
     
    SVIDA нравится это.
  12. SVIDA

    SVIDA Старожил Пользователь

    Баллы:
    103
    Skype:
    rsvidenko
    Спасибо добрый человек! :)
    UPD: Заменил файлики твоими(конечно поправив значения подключения к базе)
    и теперь ничерта не работает : (

    Ага, оказывается у нас немного разные скрипты авторизации)

    Допилил под свой, оказалось достаточно было знать откуда брать проверку : )
     
    _Dimk_O_ нравится это.
  13. MineSTALKER

    MineSTALKER Активный участник

    Баллы:
    61
    Skype:
    pavel30012
    Имя в Minecraft:
    slyker001
    народ помгите!!
    уже весе файлы в серваке перерыл ошибку bad login не могу исправить
     
  14. Beregovoy

    Beregovoy Активный участник Пользователь

    Баллы:
    63
    У меня 2 вопроса. Не смог создать тему, так что пишу сюда. Поиском пользовался, ответа не нашел. Если было то не пинайте пожалуйста. Вопросы

    1) Как можно передать скрипту логин и пароль (или хотябы логин) которые сохранены в лаунчере. Для чего? Пример. У человека сохранен логин vasa с которым он играет. При запуске лаунчера он передает логин vasa php скрипту к примеру и тот возвращает в лаунчер на php страницу его скин и количество денег из iconomy из mysql. Очень хотел бы узнать ответ.

    2) я не нашел к сожалению внятного и поэтапного мануала как заставить лаунчер скачать с клиентом папку mods и другие файлы. Читал что это делается через client.zip но я не люблю тупо копировать, я люблю понять что я сделал. Если это реально пожалуйста распишите.

    Заранее огромное спасибо :)
     
    HoShiMin нравится это.
  15. ErickSkrauch

    ErickSkrauch Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    ErickSkrauch
    У меня такая проблема: при запуске скомпилированного лаунчера я вижу вместо русских букв иконки с вопросами. Скорее всего это из-за кодировки, но где её поменять?

    И да, предыдущий оратор высказался о мысли, как обновлять вместе с папкой mods. Мне нужно то же самое + обновление папок config, redpower и прочие.
     
  16. Beregovoy

    Beregovoy Активный участник Пользователь

    Баллы:
    63
    Исходники из этой темы поддерживают client.zip Бери их, и не знай горя.

    вместо русских букв сверху или там где написано Логин, пароль, войти? Если сверху то кодировка сайта, если снизу то кодировка исходников лаунчера. Она в ANSI а ты перекодируй в UTF8 without BOM




     
    ErickSkrauch нравится это.
  17. stalef

    stalef Активный участник Пользователь

    Баллы:
    88
    тут все просто как сказано выше нужен запускатор который качает клиент zipом в него и кладешь нужные те папки еще есть тема как сделать удаление папок достаточно удалять папку mods чтобы удалять старые моды и не нужные а файлы в папках config, redpower и прочие и так заменятся файлами из zipа
     
  18. ErickSkrauch

    ErickSkrauch Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    ErickSkrauch
    @Beregovoy, подскажи, как мне его перекодировать в UTF-8? Я использую NetBeans. Лаунчер (этот вот, что ты мне дал) я скомпилировал, но опять не вижу русского в форме входа.
     
    Beregovoy нравится это.
  19. Beregovoy

    Beregovoy Активный участник Пользователь

    Баллы:
    63
    Notepad++. Открываеш java файл где есть русский текст и нажимаеш сверху Кодировка -> Преобразовать в UTF-8 без BOM
     
    ErickSkrauch нравится это.
  20. Dj Art

    Dj Art Активный участник

    Баллы:
    63
    Skype:
    telterr
    Помогите с авторизацией при системе форума phpBB! Уже целый день мучаюсь, ищу.
     
  21. ErickSkrauch

    ErickSkrauch Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    ErickSkrauch
    @Dj Art, просто в файле config.php замени названия столбцов на нужные и получай профит!
     

Поделиться этой страницей