Меню

fruit farm настройка скрипта

Faq по скрипту (Fruit Farm)

Второй этап это создание и подключение базы данных к вашей фруктовой ферме.
Создаем базу данных , заполняем поля имя базы , имя пользователя , пароль.(запишите) Создали , теперь нам нужно сделать дамп БД из файла SQL.sql который лежит в архиве с фермой.
Идем в Php my Admin нажимаем на только что созданную базу , жмем кнопку импорт. Выбираем с компьютера нашу базу жмем ОК. Через пару секунд все будет готово. После идем в корень сайта открываем файл classes/_class.config.php и редактируем подключение к БД

Разберем настройку кошелька в скрипте фруктовой фермы и файл config.php

public $SYSTEM_START_TIME = 1391884765;
Данная строка отвечает за вывод или точнее отсчётколичества дней проекту , она в формате Unix. Кто не знает гугл в помощь.
Как сбросить отсчёт на ферме на первый день?
При полной настройке игры и подготовке к запуску проекта чистим базу данных, регистрируемся первым пользователем и берём значение из БД db_users_a колонка data_reg, значение полностью цифровое, копируем и вставляем в выше указанной строке после знака =

public $VAL = «Руб.»; Валюта в которой будет производиться расчет в ферме. Меняем на своё значение, к примеру на usd

Payeer настройка приема средств на ферме

1. Зайдите на payeer и создайте магазин
2. Откройте файл classes/_class.config.php и отредактируйте переменные $shopID и $secretW

public $shopID = 1111111; ID магазина
public $secretW = «5555555»; секретный ключ магазина.
Так же не забываем отредактировать url файла ошибки и подтверждения в магазине.

success: http://ваш сайт.ру/success.html
fail: http://ваш сайт.ру/fail.html
status: http://ваш сайт.ру/payeer_merchant.php

Можете попробовать пополнить баланс на ферме со своего счета, если все сделано правильно баланс пополнится естественно в игре, а в кошельке на пару копеек станет меньше ( коммисия системы).

1. Зайдите на payeer и создайте пользователя API
2. Откройте файл classes/_class.config.php и отредактируйте переменные $AccountNumber, $apiId и $apiKey

public $AccountNumber = ‘P2921145’; номер вашего кошелька
public $apiId = ‘5652187’; апи id
public $apiKey = ‘zha111’; апи ключ

Можете попробовать вывести с проекта денежку, опять же на свой счёт со своего если все правильно денежка снимется и прийдет вам на кошелек обратно.

источник

Faq по скрипту (Fruit Farm) ( бонусы)

Бонус при пополнении баланса и регистрации

Многие часто задают вопросы как сделать бонус при пополнении баланса на ферме. Все зависит от того что вы хотите получить в итоге. С чем мне лично приходилось сталкиваться я опишу ниже, прошу не судить строго я не программист так, что если где есть ошибочки поправляем и по возможности дополняем пост.
В корневом каталоге есть файл payeer_merchant.php в нем и производится настройка бонусов при пополнении и процент реферальной программы в скрипте Fruit Farm и так приступим, вот сам код;

serebro * 0.55) 55 процентов на первое пополнение.

($ins_sum = 499.99) ? 2 : 0; При пополнении баланса на 500 рублей в подарок 2 фрукта или персонажа. Цифра два после знака вопроса указывает на количество фруктов.

Далее $to_referer = ($serebro * 0.10); Реферальные проценты 10% .

e_t = e_t это фрукт который начисляется, можно сменить на любой другой :
Фрукт 1 a_t
Фрукт 2 b_t
Фрукт 3 c_t
Фрукт 4 d_t
Фрукт 5 e_t

Читайте также:  ошибка 1603 при установке java windows 10

Если нужно к примеру реферальные чтоб на вывод зачислялись, то в данной строке
необходимо изменить значение кошелька с money_b(для покупки) на money_p( на вывод)

Бонус при регистрации

Ну и немного о втором бонусе:
Идём в /pages /signup.php находим :

При регистрации 1 фрукт в подарок, т.е первый. Можно сменить на любой другой.
При регистрации 1000 серебра для покупок в подарок. Так же можно добавить бонус на баланс для вывода стоит только дописать значения money_p и сумму. Кода мало так, что тут все понятно.
Money_b баланс на покупки
Money_p баланс на вывод

Ну вот рассказал о том, что знаю критика приветствуется

источник

Faq по скрипту (Fruit Farm) (выплаты)

Частенько при настройке фруктовой фермы мы сталкиваемся с различными проблемами начисления бонусов , статистики, пополнения баланса. Сегодня я бы хотел немного осветить проблему выплат, а точнее частые ошибки при выплате в скрипте фруктовой фермы. И так самые частые ошибки, прежде чем лопатить весь код сначала проверьте данные пункты.

Добавление восьмизначных кошельков Payeer

И так разберёмся, Идем по пути /pages/account/_payment.php
Ищем строку с данным кодом :
function ViewPurse($purse)<

if( substr($purse,0,1) != «P» ) return false;
if( !preg(«^4<7>$», substr($purse,1)) ) return false;
после цифры 7 ставим запятую и ставим цифру 8 сохраняем, так мы добавили поддержку восьмизначных кошельков Payeer в скрипт ff.

При выплате в скрипте Fruit Farm выдает ошибку
Не важно какая ошибка ( не удалось выплатить, выплаты не осуществляются до старта проекта) и.т.д
Идем в выше указанный файл выплат и ищем строку с кодом:

источник

Взлом и вывод денег из скрипта «фруктовой фермы» FRUIT FARM

Один из счастливых обладателей «Фруктовой Фермы» обратился с проблемой: из скрипта выводили все деньги, находящиеся в резерве. Было подозрение на взлома сайта или хостинга.

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

Способы взлома фруктовых ферм, а так же причин приводящих к взлому.

. eval()
Очень часто для взлома Фруктовых Ферм в код вставляют функцию eval(), которая позволяет выполнить сторонний код (код из строки, с другого сайта) и скрипт выкладывают в паблик. Иногда данный код кодируют при помощи алгоритма MIME base64 — получается строка разнообразных символов такого вида

Фильтрация данных
Очень частая ошибка в Фруктовых Фермах — это отсутствие фильтрации данных.

Для числовых переменных используется такая проверка:
PHP:

Почему она приведет к SQL инъекции? Дело в том, что пользователь может указать в переменной input_number значение:
Код:

В таком случаи проверка будет успешно пройдена, т.к. функция intval получает целочисленное значение переменной, т.е. 1, но в самой переменной $number ничего не изменилось, поэтому весь вредоносный код будет передан в SQL запрос.
Правильная фильтрация:
PHP:

. выполняем SQL запрос .
>
Конечно, условие может меняться, например если вам нужно получить только определенный диапазон:
PHP:

Если вы используете чекбоксы или мультиселекты с числовыми значениями, выполните такую проверку:
PHP:

Читайте также:  настройки для видео на шгу

Так же встречаю фильтрацию в виде:
PHP:

Ничего кроме улыбки это не может вызвать 🙂

Для стринг-переменных используется такая фильтрация:
PHP:

Функция addslashes экранирует спец. символы, но она не учитывает кодировку БД и возможен обход фильтрации. Не стану копировать текст автора, который описал данную уязвимость и дам просто ссылку Chris Shiflett (перевод можно поискать в рунете).

Используйте функцию mysql_escape_string или mysql_real_escape_string, пример:
PHP:
$input_text = mysql_escape_string($_GET[‘input_text’]);
Если вы не предполагаете вхождение html тегов, то лучше всего сделать такую фильтрацию:
PHP:
$input_text = strip_tags($_GET[‘input_text’]);
$input_text = htmlspecialchars($input_text);
$input_text = mysql_escape_string($input_text);
strip_tags — убирает html теги.
htmlspecialchars — преобразует спец. символы в html сущности.
Так вы защитите себя от XSS атаки, помимо SQL инъекции.
Если же вам нужны html теги, но только как для вывода исходного кода, то достаточно использовать:
PHP:
$input_text = htmlspecialchars($_GET[‘input_text’]);
$input_text = mysql_escape_string($input_text);
Если вам важно, чтобы значение переменной не было пустой, то используйте функцию trim, пример:
PHP:
$input_text = trim($_GET[‘input_text’]);
$input_text = htmlspecialchars($input_text);
$input_text = mysql_escape_string($input_text);
Фильтрация. Ошибка №3.

Она касается поиска в БД.
Для поиска по числам используйте фильтрацию, описанную в первой ошибке.
Для поиска по тексту используйте фильтрацию, описанную во второй ошибке, но с оговорками.
Для того, чтобы пользователь не смог выполнить логическую ошибку, нужно удалять или экранировать спец. символы SQL.
Пример без доп. обработки строки:
PHP:
$input_text = htmlspecialchars($_GET[‘input_text’]); // Поиск: «%»
$input_text = mysql_escape_string($input_text);
На выходе у нас получится запрос вида:
. WHERE text_row LIKE ‘%».$input_text.»%’ . // WHERE text_row LIKE ‘%%%’

Это значительно увеличит нагрузку на базу.
В своём скрипте я использую функцию, которая удаляет нежелательные мне символы из поиска:
PHP:

Конечно, не все из выше перечисленных символов представляют опасность, но в моём случаи они не нужны, поэтому выполняю поиск и замену.
Пример использования фильтрации:
PHP:
$input_text = strip_data($_GET[‘input_text’]);
$input_text = htmlspecialchars($input_text);
$input_text = mysql_escape_string($input_text);
Также советую сделать ограничение по количеству символов в поиске, хотя бы не меньше 3-х, т.к. если у вас будет большое количество записей в базе, то поиск по 1-2 символам будет значительно увеличивать нагрузку на БД.

Не фильтруются значения в переменной $_COOKIE. Некоторые думаю, что раз эту переменную нельзя передать через форму, то это гарантия безопасности.
Данную переменную очень легко подделать любым браузером, отредактировав куки сайта.
Например, в одной известной CMS была проверка, используемого шаблона сайта:
PHP:

В данном случаи можно подменить значение переменной $_COOKIE[‘skin’] и вызвать ошибку, в результате которой вы увидите абсолютный путь до папки сайта.
Если вы используете значение куков для сохранения в базу, то используйте одну из выше описанных фильтраций, тоже касается и переменной $_SERVER.

Включена директива register_globals. Обязательно выключите её, если она включена.
В некоторых ситуациях можно передать значение переменной, которая не должна была передаваться, например, если на сайте есть группы, то группе 2 переменная $group должна быть пустой или равняться 0, но достаточно подделать форму, добавив код:

В PHP скрипте переменная $group будет равна 5, если в скрипте она не была объявлена со значением по умолчанию.

Читайте также:  установка виндовс 10 на люмия 925

Проверяйте загружаемые файлы.
Выполняйте проверку по следующим пунктам:
1. Расширение файла. Желательно запретить загрузку файлов с расширениями: php, php3, php4, php5 и т.п.
2. Загружен ли файл на сервер move_uploaded_file
3. Размер файла

Сталкивался со случаями, когда для AJAX запроса (например: повышение репутации) передавалось имя пользователя или его ID (кому повышается репутация), но в самом PHP не было проверки на существование такого пользователя.
Например:
PHP:

Получается мы создаем запись в базе, которая совершенно бесполезна нам.

При выполнении различного рода действий (добавление, редактирование, удаление) с данными не забывайте проверять права пользователя на доступ к данной функции и дополнительные возможности (использование html тегов или возможность опубликовать материал без проверки).

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

При использовании нескольких php файлов сделайте простую проверку.
В файле index.php (или в любом другом главном файле) напишите такую строчку перед подключением других php файлов:
PHP:

В начале других php файлов напишите:
PHP:

Так вы ограничите доступ к файлам.

Используйте хеши для пользователей. Это поможет предотвратить вызов той или иной функции путём XSS.
Пример составления хеша для пользователей:
PHP:

Далее во все важные формы подставляйте инпут со значением текущего хеша пользователя:
HTML:

Во время выполнения скрипта осуществляйте проверку:
PHP:

При выводе SQL ошибок сделайте простое ограничение к доступу информации. Например задайте пароль для GET переменной:
PHP:

. вывод SQL ошибки .
>
else
<
. Просто информация об ошибке, без подробностей .
>
Это позволит скрыть от хакера информацию, которая может ему помочь во взломе сайта.

Старайтесь не подключать файлы, получая имена файлов извне.
Например:
PHP:

Используйте переключатель switch:
PHP:

В таком случаи вы предотвратите подключение файлов, которые не были вами предусмотрены.

CSRF (Cross-Site Request Forgery) – атака, позволяющая хакеру выполнить на целевом сайте различные действия от имени других, зарегистрированных посетителей.

Абсолютно все движки игр подвержены этой уязвимости! Благодаря ей можно сделать в чужом аккаунте всё что угодно, но самое привлекательное это списать чужие средства на свой кошелек.

Делается это просто, первым делом подготавливаем форму заказа выплаты.
HTML:

Далее под ней вставляем javascript код который заставит браузер нажать на кнопку формы.
HTML:

Все почти готово, теперь самое главное нам нужно как то заманить свою жертву, я предлагаю скачать любой скрипт с нашего форума и установить на бесплатный хостинг. Далее размещаем ссылку на этот скрипт (сайт) на серфинге сайтов. После того как статус задания будет доступен для исполнения, можно установить форму выплаты в любом файле на сайте.
После перехода человека по вашей ссылке и нажатии на сайте подтверждения серфинга, скрипт автоматически сделает вывод на Ваш кошелек указанный в форме.

Злоумышленнику упрощает задачу наличие серфинга в Вашей ферме.

Хотите лишиться денег? Размещайте баннеры различных рекламных систем на странице выплаты! (LinkSlot и т.п.)

источник

Добавить комментарий

Adblock
detector