Скрипт Фруктовая ферма с выводом денег.

  • Автор темы admin
  • Дата начала
Статус
В этой теме нельзя размещать новые ответы.
AA21AA
Участник
Сообщения
24
Реакции
1
  • #1.721
Здравствуйте. Помогите новичку немного.
Вот кусок кода из payment.php. Как сделать фильтрацию по знаку "-", а то если пользователь вводит сумму для выплат со знаком минус получается он может увести свой балланс в минус.

И что интересно, этоб баг работает в ручных выплатах, а в автовыплатах нет.

Код:
<tr>
<td><font color="#000;">Отдаете серебро для вывода:</font> [Мин. 10 серебра <span id="res_min"></span>]<font color="#000;">:</font> </td>
    <td><input type="text" name="ruch_sum" id="ruch_sum" value="<?=floor($user_data["money_p"]); ?>" size="15" onkeyup="dif_r();" /></td>
  </tr>
 
wh1skas
wildcake
Участник
Сообщения
1.017
Реакции
432
ICQ
564739604 564739604
  • #1.722
juranja написал(а):
так это те три button которые в папке лежвт ? их можно удалить? или они за что то отвечают ? и еще вопрос как и где посмотреть логи на самом сервере в папке логс? я новичек в этом деле не судите строго это первая реальная проблема у меня
В файле логс скорее всего. Смотришь по времени, примерно во сколько увели деньги. и по логам поднимаешь историю. К папке tiny_mce лучше закрыть доступ через .htaccess
Конечно, удалить надо.
AA21AA написал(а):
Здравствуйте. Помогите новичку немного.
Вот кусок кода из payment.php. Как сделать фильтрацию по знаку "-", а то если пользователь вводит сумму для выплат со знаком минус получается он может увести свой балланс в минус.

И что интересно, этоб баг работает в ручных выплатах, а в автовыплатах нет.

Код:
<tr>
<td><font color="#000;">Отдаете серебро для вывода:</font> [Мин. 10 серебра <span id="res_min"></span>]<font color="#000;">:</font> </td>
    <td><input type="text" name="ruch_sum" id="ruch_sum" value="<?=floor($user_data["money_p"]); ?>" size="15" onkeyup="dif_r();" /></td>
  </tr>
Перед заказом выплаты следует поставить проверку на наличие доступных средств. То есть, если заказываемая сумма меньше или равна балансу для вывода, то...
 
Последнее редактирование:
juranja
Местный
Сообщения
99
Реакции
5
  • #1.723
wh1skas написал(а):
В файле логс скорее всего. Смотришь по времени, примерно во сколько увели деньги. и по логам поднимаешь историю. К папке tiny_mce лучше закрыть доступ через .htaccess
Конечно, удалить надо.

Перед заказом выплаты следует поставить проверку на наличие доступных средств. То есть, если заказываемая сумма меньше или равна балансу для вывода, то...
пожалуйста киньте ссылку на тему дыры не могу найти ,и такой вопрос как закрыть доступ подробнее если можно ? спасибо и правда логи помогли есть контакт нашел , как защитить теперь , три файла буттон удалил ни как не отразилось на скрипте
 
wh1skas
wildcake
Участник
Сообщения
1.017
Реакции
432
ICQ
564739604 564739604
  • #1.724
Это залитые кнопки, у тебя их изначально не должно было быть. Вот пруф - https://servahoc.ru/threads/dyry-na-sajtax.767/#post-7460
Прошу перед написанием вопроса тщательно искать по форуму. Здесь очень много чего обсуждалось, более 90% Ваших вопросов. Я понимаю, что перелопатить весь форум тяжело и нудно и нужно решать проблему сейчас, но зато Вы откроете для себя много чего нового и во многом рзберетесь.
 
Последнее редактирование:
AA21AA
Участник
Сообщения
24
Реакции
1
  • #1.725
wh1skas написал(а):
В файле логс скорее всего. Смотришь по времени, примерно во сколько увели деньги. и по логам поднимаешь историю. К папке tiny_mce лучше закрыть доступ через .htaccess
Конечно, удалить надо.

Перед заказом выплаты следует поставить проверку на наличие доступных средств. То есть, если заказываемая сумма меньше или равна балансу для вывода, то...
В том и дело что проверка стоит, но когда в окне вывода вводишь сумму со знаком -, то сумма снимается с акка и аккаунт по серебру(внутренняя валюта) можно увести в минус насколько хватит платежных баллов.
 
wh1skas
wildcake
Участник
Сообщения
1.017
Реакции
432
ICQ
564739604 564739604
  • #1.726
AA21AA написал(а):
В том и дело что проверка стоит, но когда в окне вывода вводишь сумму со знаком -, то сумма снимается с акка и аккаунт по серебру(внутренняя валюта) можно увести в минус насколько хватит платежных баллов.
Скинь весь код в теги [пхп]...[/пхп]
 
AA21AA
Участник
Сообщения
24
Реакции
1
  • #1.727
Вот:
PHP:
<div class="s-bk-lf">
<br><div class="acc-title">Заказ выплаты<br></div>
</div><br>
<div class="silver-bk">
<BR />
<script type="text/javascript">
<!--
function PaymentSum(){
var sum = $("#sum").val();
var summa = (sum/100);
$("#res_sum").val(summa);
}
function dif_r(){
var sum = $("#ruch_sum").val();
var summa = (sum/100);
$("#res_sum2").val(summa);
}
//-->
</script>
<?PHP
$_OPTIMIZATION["title"] = "Аккаунт - Заказ выплаты";
$usid = $_SESSION["user_id"];
$usname = $_SESSION["user"];

$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();

$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();

$status_array = array( 0 => "Проверяется", 1 => "Выплачивается", 2 => "Отменена", 3 => "Выплачено");

?>

<b>Выплаты осуществляются в автоматическом режиме и только на платежную систему PAYEER! Процент при выводе составляет 0%</b> <BR /><BR />
<b>Из платежной системы Payeer Вы можете вывести свои средства в автоматическом режиме на все известные платежные системы и международные банки.</b><BR /><BR />
<b>Ссылки на учебные материалы:</b><BR />
- <a href="https://servahoc.ru/redirect.php?url=http://payeeer.ru/create" target="_blank">Создание счета в Payeer</a> <BR />
- <a href="https://servahoc.ru/redirect.php?url=http://payeeer.ru/outpay" target="_blank">Вывод средств из payeer</a> <BR /><BR />

<?PHP
# Заглушка от халявщиков
if($user_data["insert_sum"] <= 0 AND $user_data["from_referals"] <= 0){

?>
<center><font color="red"><b>Выплату могут заказывать пользователи, которые пополнили баланс больше, чем на 5 RUB или у которых есть активный реферал!<b></font></center><BR />
<BR />
<b>На Вашем счету <a href="https://servahoc.ru/redirect.php?url=/account/pay_points"><?=sprintf("%.2f",$user_data["pay_points"]); ?></a></b>
<BR /><BR />
<div class="clr"></div>
</div>
<?PHP

return;
}
$db->Query("SELECT id FROM config_vep");
$vep = $db->FetchArray();
$vep = $vep['id'];
?>

<b>На Вашем счету <a href="https://servahoc.ru/redirect.php?url=/account/pay_points"><?=sprintf("%.2f",$user_data["pay_points"]); ?> баллов</a></b><BR />
<b>Ваших баллов хватает на выплату <?=sprintf("%.2f",$user_data["pay_points"]); ?> RUB (<?=sprintf("%.0f",$user_data["pay_points"]*$sonfig_site["ser_per_wmr"]); ?> серебра)</b>
<BR /><BR />
<center><b>Заказ выплаты <font color="blue">PAYEER</font>:</b></center><BR />

<?PHP
if(isset($_POST['sell'])){
$pur = $_POST['ruch_pur'];
$summa = abs($_POST['ruch_sum']/100);
$sum = $summa*100;


$usid = $_SESSION["user_id"];
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();


$max_p=$user_data["money_p"];
$max_p_points=$user_data["pay_points"];

if($summa<5){$err[] = 'Минималка 5 руб.';}
else if($pur==''){$err[] = 'Ошибка!';}

else if($max_p < $_POST['ruch_sum']){$err[] = 'Недостаточно серебра!';}
else if($max_p_points < $summa){$err[] = 'Недостаточно баллов!';}


if(!$err){
$db->Query("INSERT INTO vep (user, summa,purse,date,status)
VALUES ('$usname','$summa','$pur','".time()."', '0')");

$db->Query("UPDATE db_users_b SET money_p = money_p - '$sum', pay_points = pay_points - '$summa' WHERE id = '$usid'");
echo "<span class='msgbox-error'>Ваша выплата будет обработана в течении 24 часов!!</span>";

}else{
foreach($err AS $error)
echo "<span class='msgbox-error'>".$error."</span>";
}
}


function ViewPurse($purse){

if( substr($purse,0,1) != "P" ) return false;
if( !ereg("^[0-9]{7}$", substr($purse,1)) ) return false;
return $purse;
}

# Заносим выплату
if(isset($_POST["purse"])){

$purse = ViewPurse($_POST["purse"]);
$sum = intval($_POST["sum"]);
$val = "RUB";

if($purse !== false){

if($sum >= 50){

if($sum <= $user_data["money_p"]){

# Проверяем на существующие заявки
$db->Query("SELECT COUNT(*) FROM db_payment WHERE user_id = '$usid' AND (status = '0' OR status = '1')");
if($db->FetchRow() == 0){


### Делаем выплату ###
$payeer = new rfs_payeer($config->AccountNumber, $config->apiId, $config->apiKey);
if ($payeer->isAuth())
{
$sum_pay = round( ($sum / $sonfig_site["ser_per_wmr"]), 2);
if($user_data["pay_points"] >= $sum_pay){

$arBalance = $payeer->getBalance();
if($arBalance["auth_error"] == 0)
{



$balance = $arBalance["balance"]["RUB"]["DOSTUPNO"];
if( ($balance) >= ($sum_pay+100)){



$arTransfer = $payeer->transfer(array(
'curIn' => 'RUB', // счет списания
'sum' => $sum_pay, // сумма получения
'curOut' => 'RUB', // валюта получения
'to' => $purse, // получатель (email)
//'to' => '+71112223344', // получатель (телефон)
//'to' => 'P1000000', // получатель (номер счета)
'comment' => iconv('windows-1251', 'utf-8', "Выплата пользователю {$usname}")
//'anonim' => 'Y', // анонимный перевод
//'protect' => 'Y', // протекция сделки
//'protectPeriod' => '3', // период протекции (от 1 до 30 дней)
//'protectCode' => '12345', // код протекции
));

if (!empty($arTransfer["historyId"]))
{


# Снимаем с пользователя
$db->Query("UPDATE db_users_b SET money_p = money_p - '$sum', payment_sum = payment_sum + '$sum_pay', pay_points = pay_points - '$sum_pay' WHERE id = '$usid'");

# Вставляем запись в выплаты
$da = time();
$dd = $da + 60*60*24*15;

$ppid = $arTransfer["historyId"];

$db->Query("INSERT INTO db_payment (user, user_id, purse, sum, valuta, serebro, payment_id, date_add, status)
VALUES ('$usname','$usid','$purse','$sum_pay','RUB', '$sum','$ppid','".time()."', '3')");

$db->Query("UPDATE db_stats SET all_payments = all_payments + '$sum_pay' WHERE id = '1'");

echo "<center><font color = 'green'><b>Выплачено!</b></font></center><BR />";

}
else
{

echo "<center><font color = 'red'><b>Сервер выплат перегружен, попробуйте через 10-15 секунд!</b></font></center><BR />";

}


}else echo "<center><font color = 'red'><b>Шлюз перегружен, повторите попытку через 5-10 секунд!</b></font></center><BR />";

}else echo "<center><font color = 'red'><b>Не удалось выплатить! Попробуйте позже</b></font></center><BR />";

}else echo "<center><font color = 'red'><b>Недостаточно <a href='/account/pay_points'>платежных баллов</a></b></font></center><BR />";

}else echo "<center><font color = 'red'><b>Не удалось выплатить! Попробуйте позже</b></font></center><BR />";


}else echo "<center><font color = 'red'><b>У вас имеются необработанные заявки. Дождитесь их выполнения.</b></font></center><BR />";


}else echo "<center><font color = 'red'><b>Вы указали больше, чем имеется на вашем счету</b></font></center><BR />";

}else echo "<center><b><font color = 'red'>Минимальная сумма для выплаты составляет 100 серебра!</font></b></center><BR />";

}else echo "<center><b><font color = 'red'>Кошелек Payeer указан неверно! Смотрите образец!</font></b></center><BR />";

}
?>
<?if($vep=='0'){?>
<style type="text/css">
.bonus{
width:180px;
height:40px;
margin:0px;
border-radius:5px;
background:url('/img/zakazvipalt.png');
}
</style>
<form action="" method="post">
<table width="99%" border="0" align="center">
<tr>
<td><font color="#000;">Введите кошелек Payeer [Пример: P1112457]</font>: </td>
<td><input type="text" name="purse" size="15"/></td>
</tr>
<tr>
<td><font color="#000;">Отдаете серебро для вывода</font> [Мин. <span id="res_min"></span>]<font color="#000;">:</font> </td>
<td><input type="text" name="sum" id="sum" value="<?=floor($user_data["money_p"]); ?>" size="15" onkeyup="PaymentSum();" /></td>
</tr>
<tr>
<td><font color="#000;">Получаете <span id="res_val"></span></font><font color="#000;">:</font> </td>
<td>
<input type="text" name="res" id="res_sum" value="<?($user_data["money_p"])/100?>" size="15" disabled="disabled"/>
<input type="hidden" name="per" id="RUB" value="<?=$sonfig_site["ser_per_wmr"]; ?>" disabled="disabled"/>
<input type="hidden" name="per" id="min_sum_RUB" value="0.5" disabled="disabled"/>
<input type="hidden" name="val_type" id="val_type" value="RUB" />
</td>
</tr>
<tr>
<td colspan="2" align="center"><input class="bonus" type="submit" name="bonus" value="" ></td>
</tr>
</table>
</form>
<script language="javascript">PaymentSum(); SetVal();</script>



<table cellpadding='3' cellspacing='0' border='0' bordercolor='#336633' align='center' width="99%">
<tr>
<td colspan="5" align="center"><h4>Последние 10 выплат</h4></td>
</tr>
<tr>
<td align="center" class="m-tb">Серебро</td>
<td align="center" class="m-tb">Получаете</td>
<td align="center" class="m-tb">Кошелек</td>
<td align="center" class="m-tb">Дата</td>
<td align="center" class="m-tb">Статус</td>
</tr>
<?PHP

$db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' ORDER BY id DESC LIMIT 20");

if($db->NumRows() > 0){

while($ref = $db->FetchArray()){

?>
<tr class="htt">
<td align="center"><?=$ref["serebro"]; ?></td>
<td align="center"><?=sprintf("%.2f",$ref["sum"] - $ref["comission"]); ?> <?=$ref["valuta"]; ?></td>
<td align="center"><?=$ref["purse"]; ?></td>
<td align="center"><?=date("d.m.Y",$ref["date_add"]); ?></td>
<td align="center"><?=$status_array[$ref["status"]]; ?></td>
</tr>
<?PHP

}

}else echo '<tr><td align="center" colspan="5">Нет записей</td></tr>'

?>


</table><div class="clr"></div>
<?}else{?>

<style type="text/css">
.bonus{
width:180px;
height:40px;
margin:0px;
border-radius:5px;
background:url('/img/zakazvipalt.png');
}
</style>
<br><br><br>
<center><h3>Заказ вылаты в ручную</h3></center>
<br>
<form method="post" action="">
<table width="99%" border="0" align="center">
<tr>
<td><font color="#000;">Введите кошелек Payeer [Пример: P1112457]</font>: </td>
<td><input type="text" name="ruch_pur" size="15"/></td>
</tr><tr>
<td><font color="#000;">Отдаете серебро для вывода</font> [Мин. <span id="res_min"></span>]<font color="#000;">:</font> </td>
<td><input type="text" name="ruch_sum" id="ruch_sum" value="<?=floor($user_data["money_p"]); ?>" size="15" onkeyup="dif_r();" /></td>
</tr>
<tr>
<td><font color="#000;">Получаете <span id="res_val"></span></font><font color="#000;">:</font> </td>
<td>
<input type="text" name="summa_ru" id="res_sum2" value="<?($user_data["money_p"])/100?>" size="15" disabled="disabled"/>

</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="sell" value="Заказать выплату" class="button_0" style="height: 30px;"></td>
</tr>
</table>
</form>

<table cellpadding='3' cellspacing='0' border='0' bordercolor='#336633' align='center' width="99%">
<tr>
<td colspan="5" align="center"><h4>Последние 10 выплат</h4></td>
</tr>
<tr>
<td align="center" class="m-tb">Серебро</td>
<td align="center" class="m-tb">Получаете</td>
<td align="center" class="m-tb">Кошелек</td>
<td align="center" class="m-tb">Дата</td>
<td align="center" class="m-tb">Статус</td>
</tr>
<?PHP

$db->Query("SELECT * FROM vep WHERE user = '$usname' ORDER BY id DESC LIMIT 20");

if($db->NumRows() > 0){

while($ref = $db->FetchArray()){

?>
<tr class="htt">
<td align="center"><?=($ref["summa"]*100);?></td>
<td align="center"><?=$ref["summa"]?> </td>
<td align="center"><?=$ref["purse"]?></td>
<td align="center"><?=date("d.m.Y",$ref["date"]);?></td>
<td align="center"><?=$status_array[$ref["status"]]?></td>
</tr>
<?PHP

}

}else echo '<tr><td align="center" colspan="5">Нет записей</td></tr>';

?>


</table><div class="clr"></div>
<?}?>
</div>
 
wh1skas
wildcake
Участник
Сообщения
1.017
Реакции
432
ICQ
564739604 564739604
  • #1.728
В таблице db_users_b столбец money_p присутствует? Тип данных double?
 
AA21AA
Участник
Сообщения
24
Реакции
1
  • #1.729
wh1skas написал(а):
В таблице db_users_b столбец money_p присутствует? Тип данных double?
Конечно есть и тип данных double.
Главное этот баг срабатывает только в ручных выплатах, если переключаюсь на автовыплаты, то уже не прокатит с минусом.
 
wh1skas
wildcake
Участник
Сообщения
1.017
Реакции
432
ICQ
564739604 564739604
  • #1.730
AA21AA написал(а):
Конечно есть и тип данных double.
Главное этот баг срабатывает только в ручных выплатах, если переключаюсь на автовыплаты, то уже не прокатит с минусом.
Попробуй вывести сумму в серебре, менее 50. Например попробуй вывести 10 серебра. Прокатит ли проверка?
 
AA21AA
Участник
Сообщения
24
Реакции
1
  • #1.731
wh1skas написал(а):
Попробуй вывести сумму в серебре, менее 50. Например попробуй вывести 10 серебра. Прокатит ли проверка?
Не даёт вывести, хоть с минусом сумму вводиш, хоть без минуса.
 
AA21AA
Участник
Сообщения
24
Реакции
1
  • #1.732
если это поле сделать не активным через дизаблед, то вообще не чего не выведешь.
Автовыплаты не хочется включать. А проверять каждого перед выплатой, геморой еще тот.
 
wh1skas
wildcake
Участник
Сообщения
1.017
Реакции
432
ICQ
564739604 564739604
  • #1.733
попробуй поменять местами:
PHP:
if($sum >= 50){

if($sum <= $user_data["money_p"]){
Ну и соответственно вывод на экран, закрывающие скобки тоже поменяй местами (echo)
 
AA21AA
Участник
Сообщения
24
Реакции
1
  • #1.734
Если про строки 118 и 120, то толку от этого, там функция заноса выплаты
 
Dimarik29
Местный
Сообщения
71
Реакции
6
  • #1.735
ребята проблемка гдето уже озвучивалась но 99 страниц читать честно влом, вообщем пропали автовыплаты 4 месяца все работало а тут раз и пропали, и баланс на паеер тоже перестал быть виден из фермы. где копать?
 
wh1skas
wildcake
Участник
Сообщения
1.017
Реакции
432
ICQ
564739604 564739604
  • #1.736
Перепроверь IP хоста. Мой хостинг мне говорил, что IP может меняться, но оооочень редко.
 
Wolf88
Участник
Сообщения
135
Реакции
54
  • #1.737
Dimarik29 написал(а):
ребята проблемка гдето уже озвучивалась но 99 страниц читать честно влом, вообщем пропали автовыплаты 4 месяца все работало а тут раз и пропали, и баланс на паеер тоже перестал быть виден из фермы. где копать?
Если пропала видимость баланса с админки, то капай подключение site ---> payeer
 
juranja
Местный
Сообщения
99
Реакции
5
  • #1.738
ну вроде все , нашел свой сайт в списке даже два сервера разных , покапался нашел две папки с этим буттон вторую так упаковали что если захочешь не найдешь , поставил защиту простенькую причем почти везде , полет сайта нормальный ,зашита работает, такой вопрос господа можно ли установить другую систему киви к примеру с автовыплатой или нельзя, если есть источники подскажите , благодарен за ваши советы все помогло , спасибо
 
Wolf88
Участник
Сообщения
135
Реакции
54
  • #1.739
juranja написал(а):
такой вопрос господа можно ли установить другую систему киви к примеру с автовыплатой или нельзя, если есть источники подскажите , благодарен за ваши советы все помогло , спасибо
- Установить выплаты на любую инет. систему возможно, НО вывод будет в ручную (так же до поры до времени).
Подключение авто выплат на киви - не пробовал, но можно почитать у них, есть ли такая возможность (авто выплат) или же нет, если нету - то выплаты соответственно будут ручными.

А как подключить ручные выплаты - можно посмотреть раздел модулей.
Нужно будет просто создать дубликат файла (чтобы не испортить авто выплаты на пауер, если они есть).
 
kvozimir
Участник
Сообщения
1.935
Реакции
409
ICQ
734713 734713
Skype
  • #1.740
Wolf88 написал(а):
- Установить выплаты на любую инет. систему возможно, НО вывод будет в ручную (так же до поры до времени).
Подключение авто выплат на киви - не пробовал, но можно почитать у них, есть ли такая возможность (авто выплат) или же нет, если нету - то выплаты соответственно будут ручными.

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