AA21AA
Участник
- Сообщения
- 24
- Реакции
- 1
Здравствуйте. Помогите новичку немного.
Вот кусок кода из payment.php. Как сделать фильтрацию по знаку "-", а то если пользователь вводит сумму для выплат со знаком минус получается он может увести свой балланс в минус.
И что интересно, этоб баг работает в ручных выплатах, а в автовыплатах нет.
Вот кусок кода из 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>
В файле логс скорее всего. Смотришь по времени, примерно во сколько увели деньги. и по логам поднимаешь историю. К папке tiny_mce лучше закрыть доступ через .htaccessjuranja написал(а):так это те три button которые в папке лежвт ? их можно удалить? или они за что то отвечают ? и еще вопрос как и где посмотреть логи на самом сервере в папке логс? я новичек в этом деле не судите строго это первая реальная проблема у меня
Конечно, удалить надо.
Перед заказом выплаты следует поставить проверку на наличие доступных средств. То есть, если заказываемая сумма меньше или равна балансу для вывода, то...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
пожалуйста киньте ссылку на тему дыры не могу найти ,и такой вопрос как закрыть доступ подробнее если можно ? спасибо и правда логи помогли есть контакт нашел , как защитить теперь , три файла буттон удалил ни как не отразилось на скриптеwh1skas написал(а):В файле логс скорее всего. Смотришь по времени, примерно во сколько увели деньги. и по логам поднимаешь историю. К папке tiny_mce лучше закрыть доступ через .htaccess
Конечно, удалить надо.
Перед заказом выплаты следует поставить проверку на наличие доступных средств. То есть, если заказываемая сумма меньше или равна балансу для вывода, то...
Это залитые кнопки, у тебя их изначально не должно было быть. Вот пруф - https://servahoc.ru/threads/dyry-na-sajtax.767/#post-7460
Прошу перед написанием вопроса тщательно искать по форуму. Здесь очень много чего обсуждалось, более 90% Ваших вопросов. Я понимаю, что перелопатить весь форум тяжело и нудно и нужно решать проблему сейчас, но зато Вы откроете для себя много чего нового и во многом рзберетесь.
Прошу перед написанием вопроса тщательно искать по форуму. Здесь очень много чего обсуждалось, более 90% Ваших вопросов. Я понимаю, что перелопатить весь форум тяжело и нудно и нужно решать проблему сейчас, но зато Вы откроете для себя много чего нового и во многом рзберетесь.
Последнее редактирование:
AA21AA
Участник
- Сообщения
- 24
- Реакции
- 1
В том и дело что проверка стоит, но когда в окне вывода вводишь сумму со знаком -, то сумма снимается с акка и аккаунт по серебру(внутренняя валюта) можно увести в минус насколько хватит платежных баллов.wh1skas написал(а):В файле логс скорее всего. Смотришь по времени, примерно во сколько увели деньги. и по логам поднимаешь историю. К папке tiny_mce лучше закрыть доступ через .htaccess
Конечно, удалить надо.
Перед заказом выплаты следует поставить проверку на наличие доступных средств. То есть, если заказываемая сумма меньше или равна балансу для вывода, то...
Скинь весь код в теги [пхп]...[/пхп]AA21AA написал(а):В том и дело что проверка стоит, но когда в окне вывода вводишь сумму со знаком -, то сумма снимается с акка и аккаунт по серебру(внутренняя валюта) можно увести в минус насколько хватит платежных баллов.
AA21AA
Участник
- Сообщения
- 24
- Реакции
- 1
Вот:
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>
AA21AA
Участник
- Сообщения
- 24
- Реакции
- 1
Конечно есть и тип данных double.wh1skas написал(а):В таблице db_users_b столбец money_p присутствует? Тип данных double?
Главное этот баг срабатывает только в ручных выплатах, если переключаюсь на автовыплаты, то уже не прокатит с минусом.
Попробуй вывести сумму в серебре, менее 50. Например попробуй вывести 10 серебра. Прокатит ли проверка?AA21AA написал(а):Конечно есть и тип данных double.
Главное этот баг срабатывает только в ручных выплатах, если переключаюсь на автовыплаты, то уже не прокатит с минусом.
AA21AA
Участник
- Сообщения
- 24
- Реакции
- 1
Не даёт вывести, хоть с минусом сумму вводиш, хоть без минуса.wh1skas написал(а):Попробуй вывести сумму в серебре, менее 50. Например попробуй вывести 10 серебра. Прокатит ли проверка?
AA21AA
Участник
- Сообщения
- 24
- Реакции
- 1
AA21AA
Участник
- Сообщения
- 24
- Реакции
- 1
Dimarik29
Местный
- Сообщения
- 71
- Реакции
- 6
Wolf88
Участник
- Сообщения
- 135
- Реакции
- 54
Если пропала видимость баланса с админки, то капай подключение site ---> payeerDimarik29 написал(а):ребята проблемка гдето уже озвучивалась но 99 страниц читать честно влом, вообщем пропали автовыплаты 4 месяца все работало а тут раз и пропали, и баланс на паеер тоже перестал быть виден из фермы. где копать?
juranja
Местный
- Сообщения
- 99
- Реакции
- 5
ну вроде все , нашел свой сайт в списке даже два сервера разных , покапался нашел две папки с этим буттон вторую так упаковали что если захочешь не найдешь , поставил защиту простенькую причем почти везде , полет сайта нормальный ,зашита работает, такой вопрос господа можно ли установить другую систему киви к примеру с автовыплатой или нельзя, если есть источники подскажите , благодарен за ваши советы все помогло , спасибо
Wolf88
Участник
- Сообщения
- 135
- Реакции
- 54
- Установить выплаты на любую инет. систему возможно, НО вывод будет в ручную (так же до поры до времени).juranja написал(а):такой вопрос господа можно ли установить другую систему киви к примеру с автовыплатой или нельзя, если есть источники подскажите , благодарен за ваши советы все помогло , спасибо
Подключение авто выплат на киви - не пробовал, но можно почитать у них, есть ли такая возможность (авто выплат) или же нет, если нету - то выплаты соответственно будут ручными.
А как подключить ручные выплаты - можно посмотреть раздел модулей.
Нужно будет просто создать дубликат файла (чтобы не испортить авто выплаты на пауер, если они есть).
на ручных для вывода создать киви раздел и выводить в ручную)))Wolf88 написал(а):- Установить выплаты на любую инет. систему возможно, НО вывод будет в ручную (так же до поры до времени).
Подключение авто выплат на киви - не пробовал, но можно почитать у них, есть ли такая возможность (авто выплат) или же нет, если нету - то выплаты соответственно будут ручными.
А как подключить ручные выплаты - можно посмотреть раздел модулей.
Нужно будет просто создать дубликат файла (чтобы не испортить авто выплаты на пауер, если они есть).
- Статус
- В этой теме нельзя размещать новые ответы.