Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление
  2. Данный раздел создан исключительно для релизов! Вопросы по лаунчеру или обвязке задавайте ТОЛЬКО в соответсвующей теме автора. Любые другие темы будут удалены, а авторы понесут наказание.

Веб want2vote money bonus.

Тема в разделе "Веб-обвязки и лаунчеры", создана пользователем Marshal_Xaker, 10 май 2014.

  1. Автор темы
    Marshal_Xaker

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

    Баллы:
    103
    Skype:
    Marshal_Xaker
    Имя в Minecraft:
    Marshal_Xaker
    Доброго времени суток. В общем, понадобился как-то скрипт поощрения (денежный) от топа want2vote. Конечно же отправился на RuBukkit и нашёл тему, но файл был удалён :( Взял их (топа) срипт для поощрения с плагином, переписал SQL запросик, добавил пару переменных для удобства. У итоге получился вот такой скриптик:

    PHP:
    <?php
    /* Конфиги */            
    $money 1;                // Колличество денег за голосование
    $table "iConomy";      // Таблица iConomy
    $tablemoney "balance";  // таблица с балансом игрока balance/realmoney/bank и т.д.

    $hostname "localhost";    // IP базы данных MySQL
    $username "login";          // Логин к базе данных MySQL
    $password "pass";            // Пароль к базе данных MySQL
    $dbName "MySql";          // Имя базы данных MySQL
    /* /Конфиги */




    if ($_GET['nickname']!='') {
      
    // подключаемся к базе данных MySQL
      
    $connect_to_mysql mysql_connect($hostname,$username,$password) OR DIE("Не могу соединиться с базой");
      
    mysql_select_db($dbName) or die(mysql_error());

      
    $nickname=mysql_escape_string($_GET['nickname']);
      
    $nickname=mysql_real_escape_string($nickname);
      
    // начисляем валюту
      
    $query "UPDATE $table SET `$tablemoney`=`$tablemoney`+'$money' WHERE `username`='$nickname'";
      echo 
    'OK<br />';
      
    mysql_query($query) or die(mysql_error());
      
    mysql_close($connect_to_mysql);
    }
    ?>


    Думаю проблем с установкой элементарного скрипта не возникнет.


    Защита от накрутки денег by RomaZveR.

    Создаём директорию (например: vote)
    заливаем туда и конфигурируем скрипт (пусть будет название vote.php)
    создаём файл index.html с любым содержимым (защищаемся от просмотра каталога)
    создаём в этой папке файл .htaccess, заполните его следующим содержимым:

    Код:
    DirectoryIndex index.html //защита от любопытных глаз каталога vote
    <Files "vote.php">          //защищаемый файл
    Order Deny,Allow              //параметры Разрешить, Запретить
    Deny from all                      //Запретить для всех
    Allow from ip_адрес_бота_want2vote    //разрешить для *** адреса
    </Files>
    // Защищаем сам файл .htaccess
    <Files .htaccess>
    Order allow,deny
    Deny from all
    </Files>
    // Защищаемся глобальных переменных от XSS и SQLinj, в принципе можно и не добавлять, код и так фильтрует данные, но лишним не будет.
    Options +FollowSymLinks
    RewriteEngine On
    RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
    RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
    RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
    RewriteRule ^(.*)$ vote.php [F,L]
    (может быть это просто ip адрес их сайта, если нет - спросите у поддержки, если ботов у них несколько, то можете добавить ещё строчек для разрешения.)

    Версия скрипта с проверкой удалённого сервера:
    PHP:
    <?php
    if ($_SERVER['REMOTE_ADDR'] !=='127.0.0.1')
    die(
    header("Status: 404 Not Found"));
    exit;
    /*Проверяем адрес удалённого сервера (т.е источник запроса к скрипту),
    если его адрес НЕ 127.0.0.1, то код возвращает ошибку 404 не найдено.
    Вместо 127.0.0.1 нужно прописать ip адрес бота want2vote */
    /* Конфиги */  
    $money 1;                // Колличество денег за голосование
    $table "iConomy";      // Таблица iConomy
    $tablemoney "balance";  // таблица с балансом игрока balance/realmoney/bank и т.д.
    $hostname "localhost";    // IP базы данных MySQL
    $username "login";          // Логин к базе данных MySQL
    $password "pass";            // Пароль к базе данных MySQL
    $dbName "MySql";          // Имя базы данных MySQL
    /* /Конфиги */
    if ($_GET['nickname']!='') {
      
    // подключаемся к базе данных MySQL
      
    $connect_to_mysql mysql_connect($hostname,$username,$password) OR DIE("Не могу соединиться с базой");
      
    mysql_select_db($dbName) or die(mysql_error());
      
    $nickname=mysql_escape_string($_GET['nickname']);
      
    $nickname=mysql_real_escape_string($nickname);
      
    // начисляем валюту
      
    $query "UPDATE $table SET `$tablemoney`=`$tablemoney`+'$money' WHERE `username`='$nickname'";
      echo 
    'OK<br />';
      
    mysql_query($query) or die(mysql_error());
      
    mysql_close($connect_to_mysql);
    }
    ?>
     

    Вложения:

    Последнее редактирование: 10 май 2014
    Hephest нравится это.
  2. Хостинг MineCraft
    <
  3. book777

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

    Баллы:
    123
    Skype:
    nikolia0612
    Я ж миллиардером любого с этим скриптом сделаю:D
     
  4. Автор темы
    Marshal_Xaker

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

    Баллы:
    103
    Skype:
    Marshal_Xaker
    Имя в Minecraft:
    Marshal_Xaker
    Сам wand2vote говорит менять название файла что бы никто не знал его ссылку! Например 545ubvfdfgbghv3.php и ещё в 10 директориях. :p
     
  5. Автор темы
    Marshal_Xaker

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

    Баллы:
    103
    Skype:
    Marshal_Xaker
    Имя в Minecraft:
    Marshal_Xaker
    Претензии не ко мне :( Я не виноват что wand2vote отправляет только GET запрос на скрипт с ником того кто проголосовал! :cry:
     
    ПриветОтЛайки нравится это.
  6. saharin94

    saharin94 Старожил Пользователь Заблокирован

    Баллы:
    173
    Skype:
    RikkiLooh
    Имя в Minecraft:
    RubukkitDniwe
    Переход на POST ничего не изменит. Только у топкрафта хорошо продумана защита от несанкционированного доступа к скрипту.
     
  7. Автор темы
    Marshal_Xaker

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

    Баллы:
    103
    Skype:
    Marshal_Xaker
    Имя в Minecraft:
    Marshal_Xaker
    Я и не говорил что post что-то изменит :confused: Главное, то что только ник игрока передаётся.
     
  8. Автор темы
    Marshal_Xaker

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

    Баллы:
    103
    Skype:
    Marshal_Xaker
    Имя в Minecraft:
    Marshal_Xaker
    Зачем? Я же написал что изменением названия файла и пути к нему ты уже защитишься :) Никто кроме тебя ссылку на скрипт знать не будет.
     
  9. RomaZveR

    RomaZveR Новичок

    Баллы:
    8
    Создавайте директорию (например: vote)
    залейте туда и сконфигурируйте скрипт (пусть будет название vote.php)
    создайте файл index.html с любым содержимым (защищаемся от просмотра каталога)
    создайте в этой папке файл .htaccess, заполните его следующим содержимым:
    Код:
    DirectoryIndex index.html //защита от любопытных глаз каталога vote
    <Files "vote.php">          //защищаемый файл
    Order Deny,Allow              //параметры Разрешить, Запретить
    Deny from all                      //Запретить для всех
    Allow from ip_адрес_бота_want2vote    //разрешить для *** адреса
    </Files>
    
    // Защищаем сам файл .htaccess
    <Files .htaccess>
    Order allow,deny
    Deny from all
    </Files>
    
    // Защищаемся глобальных переменных от XSS и SQLinj, в принципе можно и не добавлять, код и так фильтрует данные, но лишним не будет.
    Options +FollowSymLinks
    RewriteEngine On
    RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
    RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
    RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
    RewriteRule ^(.*)$ vote.php [F,L]

    (может быть это просто ip адрес их сайта, если нет - спросите у поддержки, если ботов у них несколько, то можете добавить ещё строчек для разрешения.)

    Версия скрипта с проверкой удалённого сервера:
    PHP:
    <?php
    if ($_SERVER['REMOTE_ADDR'] !=='127.0.0.1')
    die(
    header("Status: 404 Not Found"));
    exit;
    /*Проверяем адрес удалённого сервера (т.е источник запроса к скрипту),
    если его адрес НЕ 127.0.0.1, то код возвращает ошибку 404 не найдено.
    Вместо 127.0.0.1 нужно прописать ip адрес бота want2vote */

    /* Конфиги */     
    $money 1;                // Колличество денег за голосование
    $table "iConomy";      // Таблица iConomy
    $tablemoney "balance";  // таблица с балансом игрока balance/realmoney/bank и т.д.

    $hostname "localhost";    // IP базы данных MySQL
    $username "login";          // Логин к базе данных MySQL
    $password "pass";            // Пароль к базе данных MySQL
    $dbName "MySql";          // Имя базы данных MySQL
    /* /Конфиги */

    if ($_GET['nickname']!='') {
      
    // подключаемся к базе данных MySQL
      
    $connect_to_mysql mysql_connect($hostname,$username,$password) OR DIE("Не могу соединиться с базой");
      
    mysql_select_db($dbName) or die(mysql_error());

      
    $nickname=mysql_escape_string($_GET['nickname']);
      
    $nickname=mysql_real_escape_string($nickname);
      
    // начисляем валюту
      
    $query "UPDATE $table SET `$tablemoney`=`$tablemoney`+'$money' WHERE `username`='$nickname'";
      echo 
    'OK<br />';
      
    mysql_query($query) or die(mysql_error());
      
    mysql_close($connect_to_mysql);
    }
    ?>
    Ещё конечно лучше создать отдельную таблицу, и забивать туда ники проголосовавших,
    затем сверять всё это дело, и уже выдавать бонус. Допишу как приду с работы.

    Автор, добавь в основной пост, с сохранением копирайта конечно :cute:
     
    Последнее редактирование: 10 май 2014
    Semen4ik, Marshal_Xaker и blogger2 нравится это.

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