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

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

GameRussiaАвтор темы

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

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

return;
}

?>
<center>Заказ выплаты:</center><BR />
<center><font color=red>ВНИМАНИЕ! ПОСЛЕ ПЕРВОЙ ВЫПЛАТЫ ИЗМЕНИТЬ НОМЕР КОШЕЛЬКА <font color = "blue">PAYEER</font> БУДЕТ НЕВОЗМОЖНО!!!!</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'>Выплачено!</font></center><BR />";
                                    
                                 }
                                 else
                                 {
                                 
                                    echo "<center><font color = 'red'>Внутреняя ошибка - сообщите о ней администратору!</font></center><BR />";   
                                 
                                 }
                              
                              
                              }else echo "<center><font color = 'red'>Внутреняя ошибка - пожалуйста повторите!</font></center><BR />";
                              
                           }else echo "<center><font color = 'red'>Не удалось выплатить! Попробуйте позже</font></center><BR />";
                           
                        }else echo "<center><font color = 'red'>Не удалось выплатить! Попробуйте позже</font></center><BR />";
                        
         
                     }else echo "<center><font color = 'red'>У вас имеются необработанные заявки. Дождитесь их выполнения.</font></center><BR />";
                        
                     
                  }else echo "<center><font color = 'red'>Вы указали больше, чем имеется на вашем счету</font></center><BR />";
               
               }else echo "<center><font color = 'red'>Минимальная сумма для выплаты составляет {$minPay} серебра!</font></center><BR />";
         
         }else echo "<center><font color = 'red'>Кошелек указан неверно! Смотрите образец!</font></center><BR />";
      
   }
?>

<form action="" method="post">
<table width="99%" border="0" align="center">
  <tr>
    <td><font color="#000;">Введите кошелек Payeer [Пример: P1234567]</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

  • *
  • *
  • Оффлайн
  • Награды Более 250 сообщений Более 5 лет на форуме !!! Топ 10 по сообщениям Репутация более 5
  • Дата регистрации: Дек. 2016
  • Возраст: 32
  • Сообщений: 435
  • Страна: 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
  • *
  • *
  • Оффлайн
  • Награды Более 1750 сообщений Более 6 лет на форуме !!! Топ 10 по сообщениям Топ 10 по созданным темам Репутация  более 25 Более 50 созданных тем Благодарность от форума За помощь пользователям За время в онлайне на форуме
  • Дата регистрации: Фев. 2016
  • Возраст: 30
  • Сообщений: 1989
  • Страна: ru
  • Поблагодарили: 235 раз(а)
  • Репутация +39/-1
  • Пол: Мужской
  • Дата рождения:1992-04-18
    • Награды
  • Социальные сети:
    ВКонтакте
Сохранение кошелька #2 СРОЧНО!
« Ответ #2 : 22 Июля 2017, 13:43:04 »
привязку кошелька можно обойти

 

GameRussiaАвтор темы

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

Kuper

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

GameRussiaАвтор темы

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

kvozimir

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

GameRussiaАвтор темы

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

kvozimir

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

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

APTEMOH

  • *
  • *
  • Оффлайн
  • Награды Болеее 500 сообщений Более 6 лет на форуме !!! Топ 10 по сообщениям За помощь пользователям Репутация более 15 Более 10 созданных тем
  • Дата регистрации: Сен. 2015
  • Расположение: Расположение
  • Сообщений: 529
  • Страна: 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
  • *
  • *
  • Оффлайн
  • Награды Более 1750 сообщений Более 6 лет на форуме !!! Топ 10 по сообщениям Топ 10 по созданным темам Репутация  более 25 Более 50 созданных тем Благодарность от форума За помощь пользователям За время в онлайне на форуме
  • Дата регистрации: Фев. 2016
  • Возраст: 30
  • Сообщений: 1989
  • Страна: ru
  • Поблагодарили: 235 раз(а)
  • Репутация +39/-1
  • Пол: Мужской
  • Дата рождения:1992-04-18
    • Награды
  • Социальные сети:
    ВКонтакте
Сохранение кошелька #2 СРОЧНО!
« Ответ #10 : 24 Июля 2017, 05:32:44 »
Так кошелек берется с базы, а не с формы. :be happy: Ну я так делаю.

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