Автор Тема: Сохранение кошелька #2 СРОЧНО!  (Прочитано 964 раз)

0 Пользователей и 1 Гость просматривают эту тему.

GameRussiaАвтор темы

  • *
  • *
  • Оффлайн
  • Награды Три года на форуме !!! Более 200 сообщений Репутация более 5 За помощь пользователям Более 10 созданных тем
  • Дата регистрации: Июнь 2017
  • Сообщений: 227
  • Страна: ru
  • Поблагодарили: 29 раз(а)
  • Репутация +9/-0
  • Пол: Мужской
    • Награды
  • Социальные сети:
    ВКонтакте
Сохранение кошелька #2 СРОЧНО!
« : 22 Июля 2017, 10:07:45 »
Здравствуйте, сохранение кошелька работает насовсем так, как нужно.
Мне на почту написал пользователь о том, что ему не удаётся выплатить. Я попробовал со своего аккаунта выплатить, выплата прошла. Тогда зашёл на его акк. и сразу увидел ошибку.
Модуль сохранение кошелька сохраняет только 7-ми значные кошельки. Что делать хз. Код выплат + скрин с ошибкой.
<script LANGUAGE="JavaScript1.1">document.oncontextmenu = function(){return false;};</script>
<?
//Проверяем Пост и Гет на ненужные символы
$arrs=array('_GET', '_POST');
foreach($arrs as $arr_key => $arr_value){
    if(is_array($$arr_value)){
        foreach($$arr_value as $key => $value){
            $nbz1=substr_count($value,'--');
            $nbz2=substr_count($value,'/*');
            $nbz3=substr_count($value,"'");
            $nbz4=substr_count($value,'"');
            if($nbz1>0 || $nbz2>0 || $nbz3>0 || $nbz4>0){
                print '<div class="error">Вы используете недопустимые

символы в '.str_replace('_','',$arr_value).'-запросе!<br><a

href="javascript:window.history.back();">Назад</a></div>';
                exit();
            }
        }
    }
}
?>
<div class="s-bk-lf">
   <div class="acc-title">Заказ выплаты</div>
</div>
<div class="silver-bk">

<?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_users_a WHERE id = '$usid' LIMIT 1");
$user_dataa = $db->FetchArray();

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

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

# Минималка серебром!
$minPay = 100;
?>
<b>Выплаты осуществляются в автоматическом режиме и только на платежную систему <a href="https://payeer.com/?partner= 405316" target="_BLANK"><font color="blue">PAYEER!</font></a>! Процент при выводе составляет 0%</b> <BR /><BR />
<b>Из платежной системы Payeer Вы можете вывести свои средства в автоматическом режиме на все известные платежные системы и международные банки.</b><BR /><BR />
<?PHP
# Заглушка от халявщиков
if($user_data["insert_sum"] <= 99.99 AND $user_data["from_referals"] <= 0){

?>
<center><font color="red"><b>Выплату могут заказывать пользователи, которые пополнили баланс больше, чем на 100 RUB !
<br>У нас нет платежных баллов !<b></font></center><BR />
<BR />
<BR /><BR />
<div class="clr"></div>      
</div>
<?PHP

return;
}

?>
<center><b>Заказ выплаты:</b></center><BR />
<center><font color=red><b>ВНИМАНИЕ! ПОСЛЕ ПЕРВОЙ ВЫПЛАТЫ ИЗМЕНИТЬ НОМЕР КОШЕЛЬКА <font color = "blue">PAYEER</font> БУДЕТ НЕВОЗМОЖНО!!!!</b></font></center> <br>


<?PHP

function CheckPurse()
   {
      global $db;
      global $usid;
      $db->Query("SELECT * FROM `db_payment` WHERE `ps`='py' AND `user_id`='$usid'");
      $v = $db->FetchArray();
      if (empty($v["id"]))
         return FALSE;
      else
         return $v["purse"];
   }
   
   function ViewPurse($purse){
      
      if( substr($purse,0,1) != "P" ) return false;
      if( !preg_match("/^[0-9]{7,8}$/", substr($purse,1)) ) return false;   
      return $purse;
   }
   
   
   # Заносим выплату
   if(isset($_POST["purse"])){
   
      if(empty($user_data['purse'])) {
         $purse = ViewPurse($_POST["purse"]);
      }
      else
      {
         $purse = $user_data['purse'];
      }
      
      $sum = intval($_POST["sum"]);
      $val = "RUB";
      
      
      
         if($purse !== false){
            
               if($sum >= $minPay){
               
                  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())
                        {
                           
                           $arBalance = $payeer->getBalance();
                           if($arBalance["auth_error"] == 0)
                           {
                              
                              $sum_pay = round( ($sum / $sonfig_site["ser_per_wmr"]), 2);
                              
                              $balance = $arBalance["balance"]["RUB"]["DOSTUPNO"];
                              if( ($balance) >= ($sum_pay+0)){
                              
                              
                              
                              $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' 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')");
                                    if(empty($user_data['purse'])) {
                                         $db->Query("UPDATE db_users_b SET purse = '$purse' WHERE id = '$usid'");
                                          }
                                    $db->Query("UPDATE db_users_b SET payment_sum = payment_sum + '$sum_pay' WHERE id = '$usid'");
                                    $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>Внутреняя ошибка - сообщите о ней администратору!</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><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'>Минимальная сумма для выплаты составляет {$minPay} серебра!</font></b></center><BR />";
         
         }else echo "<center><b><font color = 'red'>Кошелек указан неверно! Смотрите образец!</font></b></center><BR />";
      
   }
?>

<form action="" method="post">
<table width="99%" border="0" align="center">
  <tr>
    <td><font color="#000;"><b>Введите кошелек Payeer [Пример: P1234567]</b></font>: </td>
<?PHP
$usid = $_SESSION["user_id"];
$db->Query("SELECT purse FROM db_users_b WHERE id = '$usid' LIMIT 1");
$sonfig_purse = $db->FetchArray();

if($sonfig_purse["purse"]){
$pur=$sonfig_purse["purse"];
echo"<td><input type='text' name='purse' size='15' value='".$pur."' readonly='readonly'/></td>";
}else echo"<td><input type='text' name='purse' size='15'/></td>";
?>
   
   </td>
  </tr>
  <tr>
    <td><font color="#000;">Отдаете серебро для вывода</font> [Мин. 100]<font color="#000;">:</font> </td>
   <td><input type="text" name="sum" id="sum" value="0" size="15" onkeyup="PaymentSum();" /></td>
  </tr>
  <tr>
    <td><font color="#000;">Получаете [RUR]<span id="res_val"></span></font><font color="#000;">:</font> </td>
   <td>
   <input type="text" name="res" id="res_sum" value="0" 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 type="submit" name="swap" value="Заказать выплату" style="height: 30px; margin-top:10px;" /></td>
  </tr>
</table>
</form>
<table cellpadding='3' cellspacing='0' border='0' bordercolor='#336633' align='center' width="99%">
  <tr>
    <td colspan="5" align="center"><h1>Ваши последние выплаты</h1></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>
  </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["sum"]; ?> RUB</td>
         <td align="center"><?=$ref["user"]; ?></td>
         <td align="center"><?=$ref["purse"]; ?></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>
 

Kuper

  • *
  • *
  • Оффлайн
  • Награды Более 4 лет на форуме !!! Топ 10 по сообщениям Репутация более 5 Болеее 300 сообщений
  • Дата регистрации: Дек. 2016
  • Возраст: 31
  • Сообщений: 436
  • Страна: ru
  • Поблагодарили: 35 раз(а)
  • Репутация +8/-2
  • Пол: Мужской
  • Дата рождения:1989-11-19
    • Награды
  • Социальные сети:
    ВКонтакте
Сохранение кошелька #2 СРОЧНО!
« Ответ #1 : 22 Июля 2017, 11:17:35 »
function ViewPurse($purse){

      if( substr($purse,0,1) != "P" ) return false;
      if( !ereg("^[0-9]{7}$", substr($purse,1)) AND !ereg("^[0-9]{8}$", substr($purse,1)) ) return false;
      return $purse;
   }
Замени

kvozimir

  • снова в skype --> kvozimir
  • *
  • *
  • Оффлайн
  • Награды Более 5 лет на форуме !!! Топ 10 по сообщениям Топ 10 по созданным темам Репутация  более 25 Более 1500 сообщений Более 50 созданных тем Благодарность от форума За помощь пользователям За время в онлайне на форуме
  • Дата регистрации: Фев. 2016
  • Возраст: 28
  • Сообщений: 1965
  • Страна: ru
  • Поблагодарили: 232 раз(а)
  • Репутация +38/-1
  • Пол: Мужской
  • Дата рождения:1992-04-18
    • Награды
  • Социальные сети:
    ВКонтакте
Сохранение кошелька #2 СРОЧНО!
« Ответ #2 : 22 Июля 2017, 13:43:04 »
привязку кошелька можно обойти

 

GameRussiaАвтор темы

  • *
  • *
  • Оффлайн
  • Награды Три года на форуме !!! Более 200 сообщений Репутация более 5 За помощь пользователям Более 10 созданных тем
  • Дата регистрации: Июнь 2017
  • Сообщений: 227
  • Страна: ru
  • Поблагодарили: 29 раз(а)
  • Репутация +9/-0
  • Пол: Мужской
    • Награды
  • Социальные сети:
    ВКонтакте
Сохранение кошелька #2 СРОЧНО!
« Ответ #3 : 22 Июля 2017, 19:36:00 »
Заменить заменил, но в корне это проблему не исправили, т.к длина строки purse в базе была 8 символов, исправил до 9, теперь по крайней мере отображается корректно.
привязку кошелька можно обойти
И как же?
 

Kuper

  • *
  • *
  • Оффлайн
  • Награды Более 4 лет на форуме !!! Топ 10 по сообщениям Репутация более 5 Болеее 300 сообщений
  • Дата регистрации: Дек. 2016
  • Возраст: 31
  • Сообщений: 436
  • Страна: ru
  • Поблагодарили: 35 раз(а)
  • Репутация +8/-2
  • Пол: Мужской
  • Дата рождения:1989-11-19
    • Награды
  • Социальные сети:
    ВКонтакте
Сохранение кошелька #2 СРОЧНО!
« Ответ #4 : 22 Июля 2017, 20:31:01 »
Заменить заменил, но в корне это проблему не исправили, т.к длина строки purse в базе была 8 символов, исправил до 9, теперь по крайней мере отображается корректно.
Для начала спасибо сказать можно. Какая еще проблема?
 
Пользователи, которые поблагодарили этот пост: GameRussia

GameRussiaАвтор темы

  • *
  • *
  • Оффлайн
  • Награды Три года на форуме !!! Более 200 сообщений Репутация более 5 За помощь пользователям Более 10 созданных тем
  • Дата регистрации: Июнь 2017
  • Сообщений: 227
  • Страна: ru
  • Поблагодарили: 29 раз(а)
  • Репутация +9/-0
  • Пол: Мужской
    • Награды
  • Социальные сети:
    ВКонтакте
Сохранение кошелька #2 СРОЧНО!
« Ответ #5 : 23 Июля 2017, 06:06:40 »
Для начала спасибо сказать можно. Какая еще проблема?
Проблема... Выяснить как можно обойти эту привязку и как защититься.
 

kvozimir

  • снова в skype --> kvozimir
  • *
  • *
  • Оффлайн
  • Награды Более 5 лет на форуме !!! Топ 10 по сообщениям Топ 10 по созданным темам Репутация  более 25 Более 1500 сообщений Более 50 созданных тем Благодарность от форума За помощь пользователям За время в онлайне на форуме
  • Дата регистрации: Фев. 2016
  • Возраст: 28
  • Сообщений: 1965
  • Страна: ru
  • Поблагодарили: 232 раз(а)
  • Репутация +38/-1
  • Пол: Мужской
  • Дата рождения:1992-04-18
    • Награды
  • Социальные сети:
    ВКонтакте
Сохранение кошелька #2 СРОЧНО!
« Ответ #6 : 23 Июля 2017, 07:44:01 »
Заменить заменил, но в корне это проблему не исправили, т.к длина строки purse в базе была 8 символов, исправил до 9, теперь по крайней мере отображается корректно.И как же?
через просмотр кода ctrl shift I
 

GameRussiaАвтор темы

  • *
  • *
  • Оффлайн
  • Награды Три года на форуме !!! Более 200 сообщений Репутация более 5 За помощь пользователям Более 10 созданных тем
  • Дата регистрации: Июнь 2017
  • Сообщений: 227
  • Страна: ru
  • Поблагодарили: 29 раз(а)
  • Репутация +9/-0
  • Пол: Мужской
    • Награды
  • Социальные сети:
    ВКонтакте
Сохранение кошелька #2 СРОЧНО!
« Ответ #7 : 23 Июля 2017, 09:34:08 »
через просмотр кода ctrl shift I
об этом я слышал уже, вот кстати нашёл payment с якобы защитой от этой фигни, но полностью в этом не уверен, вот файл.
 

kvozimir

  • снова в skype --> kvozimir
  • *
  • *
  • Оффлайн
  • Награды Более 5 лет на форуме !!! Топ 10 по сообщениям Топ 10 по созданным темам Репутация  более 25 Более 1500 сообщений Более 50 созданных тем Благодарность от форума За помощь пользователям За время в онлайне на форуме
  • Дата регистрации: Фев. 2016
  • Возраст: 28
  • Сообщений: 1965
  • Страна: ru
  • Поблагодарили: 232 раз(а)
  • Репутация +38/-1
  • Пол: Мужской
  • Дата рождения:1992-04-18
    • Награды
  • Социальные сети:
    ВКонтакте
Сохранение кошелька #2 СРОЧНО!
« Ответ #8 : 23 Июля 2017, 09:37:16 »
 об этом я слышал уже, вот кстати нашёл payment с якобы защитой от этой фигни, но полностью в этом не уверен, вот файл.
я и слышал,и проверял на деле,кошелек поменять можно на самом деле....

файл не проверял так что не знаю
 

APTEMOH

  • *
  • *
  • Оффлайн
  • Награды Более 5 лет на форуме !!! Топ 10 по сообщениям За помощь пользователям Репутация более 15 Более 500 сообщений Более 10 созданных тем
  • Дата регистрации: Сен. 2015
  • Расположение: Расположение
  • Сообщений: 530
  • Страна: th
  • Поблагодарили: 64 раз(а)
  • Репутация +19/-2
  • Пол: Мужской
    • Награды
  • Социальные сети:
    ВКонтакте
Сохранение кошелька #2 СРОЧНО!
« Ответ #9 : 23 Июля 2017, 18:28:51 »
через просмотр кода ctrl shift I

Так кошелек берется с базы, а не с формы. :be happy: Ну я так делаю.

Добавлено сообщение: 23 Июля 2017, 18:31:03
Цитировать
ereg

Устаревшая ф-я. PHP ругается на нее, но ошибок не видно, т.к. у всех вывод ошибок выключен или тупо @ глушит их.
 
Пользователи, которые поблагодарили этот пост: GameRussia

kvozimir

  • снова в skype --> kvozimir
  • *
  • *
  • Оффлайн
  • Награды Более 5 лет на форуме !!! Топ 10 по сообщениям Топ 10 по созданным темам Репутация  более 25 Более 1500 сообщений Более 50 созданных тем Благодарность от форума За помощь пользователям За время в онлайне на форуме
  • Дата регистрации: Фев. 2016
  • Возраст: 28
  • Сообщений: 1965
  • Страна: ru
  • Поблагодарили: 232 раз(а)
  • Репутация +38/-1
  • Пол: Мужской
  • Дата рождения:1992-04-18
    • Награды
  • Социальные сети:
    ВКонтакте
Сохранение кошелька #2 СРОЧНО!
« Ответ #10 : 24 Июля 2017, 05:32:44 »
Так кошелек берется с базы, а не с формы. :be happy: Ну я так делаю.

Добавлено сообщение: 23 Июля 2017, 18:31:03
Устаревшая ф-я. PHP ругается на нее, но ошибок не видно, т.к. у всех вывод ошибок выключен или тупо @ глушит их.
в старых версиях привязки кошелька,которая везде есть,она не берется с базы,т.к в базу и записи нет об этом,и с легкостью можно кошелек поменять
 
Пользователи, которые поблагодарили этот пост: APTEMOH
Теги: