Платёжный пароль

  • Автор темы kvozimir
  • Дата начала
rus56
Участник
Сообщения
126
Реакции
16
  • #101
MegaGoblin написал(а):
Мне вот интересно, зачем номер телефона сохранять в шифрованном виде?
вот такая вот задумка, вот допустим кто то хочет вывести средства с аккаунта, узнает номер тел. usera и решить при выполнении скрипта сделать - замену на свой номер тел. а тут такая трабла получится. чем извращеннее и зашифровывание код тем безопаснее.
 
rus56
Участник
Сообщения
126
Реакции
16
  • #102
MegaGoblin написал(а):
Мне вот интересно, зачем номер телефона сохранять в шифрованом виде?
я так хочу, мне так интересно!
 
MegaGoblin
PHP, JS, AJAX, CSS, HTML
Участник
Сообщения
322
Реакции
72
  • #103
rus56 написал(а):
я так хочу, мне так интересно!
Дело не в том интересно или нет. Это не правильно как-то. Этим ты добавишь неудобств лишь пользователям.

Если номер пользователя хранится в БД, зачем просить пользователя его вводить при выводе денег? Почему просто не отправлять СМС на уже сохраненный номер телефона? Я уже раз сохранил свой номер, подтвердил его, и мне не нравится что я должен каждый раз указывать его раз.

1. Заказываю деньги на вывод (указываю сумму и номер кошелька).
2. Получаю код, на телефон, который я подтвердил при регистрации.
3. Ввожу полученный код на странице вывода.
4. Получаю свои деньги.

И я не хочу вводить каждый раз еще раз свой номер.
Поэтому и нет смысла сохранять шифрованный номер в БД.
 
rus56
Участник
Сообщения
126
Реакции
16
  • #104
MegaGoblin написал(а):
Дело не в том интересно или нет. Это не правильно как-то. Этим ты добавишь неудобств лишь пользователям.

Если номер пользователя хранится в БД, зачем просить пользователя его вводить при выводе денег? Почему просто не отправлять СМС на уже сохраненный номер телефона? Я уже раз сохранил свой номер, подтвердил его, и мне не нравится что я должен каждый раз указывать его раз.

1. Заказываю деньги на вывод (указываю сумму и номер кошелька).
2. Получаю код, на телефон, который я подтвердил при регистрации.
3. Ввожу полученный код на странице вывода.
4. Получаю свои деньги.

И я не хочу вводить каждый раз еще раз свой номер.
Поэтому и нет смысла сохранять шифрованный номер в БД.
НЕТ ты не правильно понял, цитирую - через смс - "то-есть useru прежде чем сделать выплату придет смс уведомление с подтверждением на вывод и код подтверждения, номер телефона будет регистрироваться при регистрации пользователя" его не нужно будет вводить. но на всякий случай я его хочу зашифровать.
 
MegaGoblin
PHP, JS, AJAX, CSS, HTML
Участник
Сообщения
322
Реакции
72
  • #105
>> вот такая вот задумка, вот допустим кто то хочет вывести средства с аккаунта, узнает номер тел. usera и решить при выполнении скрипта сделать - замену на свой номер тел. а тут такая трабла получится. чем извращеннее и зашифровывание код тем безопаснее.

Тогда о какой замене номера идет речь в этом сообщении?

Зашифровал -> сохранил -> вытащил шифрованный номер -> расшифровал номер -> отправил СМС.

Лишние ненужные действия, которые усложняют код.
Лишний код = большее время на выполнение = сайт загружается дольше = отрицательные эмоции.
 
chelton085
Местный
Сообщения
174
Реакции
6
  • #106
Хм, по мне - так масло масленое. В приведенном на прошлой странице коде на мой взгляд и так максимальная степень защиты от подмены платежного пароля - послее ввода пароля он в профиле уже не отображается. То есть каким образом мошенник его сможет узнать? Никак, если только не залезет в БД. Да и то, если он там в md 5 - ему и это не поможет.
И уж извините за оффтоп - но раз уж о паролях мы, где или как увидеть/изменить набор символов для пароля от профиля? в файле _config.php нема ничего с этим связанного. Или можно взять эту функцию по составу пароля от платежного, только изменить по усмотрению своему?
 
rus56
Участник
Сообщения
126
Реакции
16
  • #107
Хм, по мне - так масло масленое. В приведенном на прошлой странице коде на мой взгляд и так максимальная степень защиты от подмены платежного пароля - послее ввода пароля он в профиле уже не отображается. То есть каким образом мошенник его сможет узнать? Никак, если только не залезет в БД. Да и то, если он там в md 5 - ему и это не поможет.
вот и ответ на все вопросы почему номер тел. в шифрованном виде.
 
MegaGoblin
PHP, JS, AJAX, CSS, HTML
Участник
Сообщения
322
Реакции
72
  • #108
rus56 написал(а):
вот и ответ на все вопросы почему номер тел. в шифрованном виде.
Эм... если у тебя номер будет сохранен в md5, как ты его сам получишь, для отправки СМС???
"Буду шифровать по своему алгоритму" - скажешь ты мне....
Но вот только толку от этого шифрования нет. Если злоумышленник получил доступ к твоему сайту, то он сможет точно также зашифровать свой номер и сохранить его в БД, посмотрев алгоритм в скрипте.

Если будет похищен номер телефона, то ничего страшного, т/к/ сам телефонный апарат, на который приходят коды будет у пользователя.
Если похитят платежный пароль, то это печально, т/к/ ввел его при выводе и получил деньги. Вот поэтому надо шифровать пароль, а номре телефона - нет.
 
alexsoft59
Капитан очевидность...).
Участник
Сообщения
347
Реакции
29
  • #109
MegaGoblin написал(а):
Мне вот интересно, зачем номер телефона сохранять в шифрованом виде?
Ну мало ли кто нить БД вынесет,так чтоб спамерам не досталось...))
 
kvozimir
Участник
Сообщения
1.935
Реакции
409
ICQ
734713 734713
Skype
  • #110
Serena4 написал(а):
а платежный пароль зачем вообще нужен ? для баллов ?
для безопасности,чтоб если акк взломали деньги вывести не могли
 
Shoma2114
Местный
Сообщения
63
Реакции
2
  • #111
Кто подскажет как зашифровать все пароли в бд. Не платежные, а обычные.юзера
 
AriCosmo
Участник
Сообщения
515
Реакции
115
Skype
  • #112
Shoma2114 написал(а):
Кто подскажет как зашифровать все пароли в бд. Не платежные, а обычные.юзера
Зашифруй по тому же принципу, что и при платёжном пароли,. так же в md5
 
Shoma2114
Местный
Сообщения
63
Реакции
2
  • #113
Diknoa написал(а):
Зашифруй по тому же принципу, что и при платёжном пароли,. так же в md5
В файле регистрации или в файле настройки. Или в обеих?
 
alexsoft59
Капитан очевидность...).
Участник
Сообщения
347
Реакции
29
  • #114
Shoma2114 написал(а):
В файле регистрации или в файле настройки. Или в обеих?
Во всех файлах,так же в восстановлении пароля и авторизации это нужно делать...
 
Shoma2114
Местный
Сообщения
63
Реакции
2
  • #115
Код:
<?PHP
######################################
# Скрипт Fruit Farm
# Автор Wolfram   
# ICQ: 445900333
# Skype: hushbaht2004
######################################
$_OPTIMIZATION["title"] = "Регистрация";
$_OPTIMIZATION["description"] = "Регистрация пользователя в системе";
$_OPTIMIZATION["keywords"] = "Регистрация нового участника в системе";

if(isset($_SESSION["user_id"])){ Header("Location: /account"); return; }
?>
<div class="s-bk-lf">
    <div class="acc-title">Регистрация</div>
</div>
<div class="silver-bk"><div class="clr"></div>   
<?PHP
   
    # Регистрация

    if(isset($_POST["login"])){
   
    if(isset($_SESSION["captcha"]) AND strtolower($_SESSION["captcha"]) == strtolower($_POST["captcha"])){
    unset($_SESSION["captcha"]);

    $login = $func->IsLogin($_POST["login"]);
    $pass = $func->IsPassword($_POST["pass"]);
    $rules = isset($_POST["rules"]) ? true : false;
    $time = time();
    $ip = $func->UserIP;
    $UserIP = $_SERVER['REMOTE_ADDR'];
   
    $email = $func->IsMail($_POST["email"]);
    $referer_id = (isset($_COOKIE["i"]) AND intval($_COOKIE["i"]) > 0 AND intval($_COOKIE["i"]) < 1000000) ? intval($_COOKIE["i"]) : 1;
    $referer_name = "";
    if($referer_id != 1){
        $db->Query("SELECT user FROM db_users_a WHERE id = '$referer_id' LIMIT 1");
        if($db->NumRows() > 0){$referer_name = $db->FetchRow();}
        else{ $referer_id = 1; $referer_name = "birds-rio"; }
    }else{ $referer_id = 1; $referer_name = "birds-rio"; }
   
        if($rules){

            if($email !== false){
       
            if($login !== false){
           
                if($pass !== false){
           
                    if($pass == $_POST["repass"]){
                       
                        $db->Query("SELECT COUNT(*) FROM db_users_a WHERE user = '$login'");
                        if($db->FetchRow() == 0){
                       
                        # Регаем пользователя
                        $db->Query("INSERT INTO db_users_a (user, email, pass, referer, referer_id, date_reg, ip)
                        VALUES ('$login','{$email}','$pass','$referer_name','$referer_id','$time',INET_ATON('$ip'))");
                       
                        $lid = $db->LastInsert();
                       
                        $db->Query("INSERT INTO db_users_b (id, user, a_t, last_sbor) VALUES ('$lid','$login','50', '".time()."')");
                       
                        # Вставляем статистику
                        $db->Query("UPDATE db_stats SET all_users = all_users +1 WHERE id = '1'");
                       
                        echo "<center><b><font color = 'green'>Вы успешно зарегистрировались. Используйте форму слева для входа в аккаунт</font></b></center><BR />";
                        ?></div>
                        <div class="clr"></div>   
                        <?PHP
                        return;
                        }else echo "<center><b><font color = 'red'>Указанный логин уже используется</font></b></center><BR />";
                       
                    }else echo "<center><b><font color = 'red'>Пароль и повтор пароля не совпадают</font></b></center><BR />";
           
                }else echo "<center><b><font color = 'red'>Пароль заполнен неверно</font></b></center><BR />";
           
            }else echo "<center><b><font color = 'red'>Логин заполнен неверно</font></b></center><BR />";

        }else echo "<center><font color = 'red'><b>Email имеет неверный формат</b></font></center>";

        }else echo "<center><b><font color = 'red'>Вы не подтвердили правила</font></b></center><BR />";
   
        }else echo "<center><font color = 'red'><b>Символы с картинки введены неверно</b></font></center>";

    }
   
   
?>


<BR />
<form action="" method="post">
<table width="500" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td align="left" style="padding:3px;">Ваш псевдоним: <font color="#FF0000">*</font></td>
    <td align="left" style="padding:3px;"><input name="login" type="text" size="25" maxlength="10" value="<?=(isset($_POST["login"])) ? $_POST["login"] : false; ?>"/></td>
  </tr>
  <tr>
    <td colspan="2" align="left" style="padding:3px;">Поле псевдоним должно иметь от 4 до 10 символов (только англ. символы).</td>
    </tr>
<tr>
    <td align="left" style="padding:3px;">Email: <font color="#FF0000">*</font></td>
    <td align="left" style="padding:3px;"><input name="email" type="text" size="25" maxlength="50" value="<?=(isset($_POST["email"])) ? $_POST["email"] : false; ?>"/></td>
  </tr>
  <tr>
    <td colspan="2" align="left">&nbsp;</td>
    </tr>
  <tr>
    <td align="left" style="padding:3px;">Пароль: <font color="#FF0000">*</font></td>
    <td align="left" style="padding:3px;"><input name= "pass" type= "password" size="25" maxlength="20" /></td>
  </tr>
  <tr>
    <td colspan="2" align="left" style="padding:3px;">Поле Пароль должно иметь от 6 до 20 символов (только англ. символы).</td>
    </tr>
  <tr>
    <td align="left" style="padding:3px;">Пароль еще раз: <font color="#FF0000">*</font></td>
    <td align="left" style="padding:3px;"><input name= "repass" type="password" size="25" maxlength="20" /></td>
  </tr>
  <tr>
    <td colspan="2" align="left" style="padding:3px;">Пароли должны совпадать.</td>
    </tr>
  <tr>
    <td colspan="2" align="left">&nbsp;</td>
  </tr>
  <tr>
    <td colspan="2" align="left" style="padding:3px;">
    С <a href="https://servahoc.ru/redirect.php?url=/rules" target="_blank" class="stn">правилами</a> проекта ознакомлен(а) и принимаю: <input name="rules" type="checkbox" /></td>
  </tr>
<tr>
    <td align="left" style="padding:3px;">
    <a href="https://servahoc.ru/redirect.php?url=#" onclick="ResetCaptcha(this);"><img src="/captcha.php?rnd=<?=rand(1,10000); ?>"  border="0" style="margin:0;"/></a>
    </td>
    <td align="left" style="padding:3px;">Введите символы с картинки<input name="captcha" type="text" size="25" maxlength="50" /></td>
  </tr>
  <tr>
    <td colspan="2" align="left">&nbsp;</td>
  </tr>
  <tr>
    <td colspan="2" align="center" style="padding:3px;"><input name="registr" type="submit" value="Зарегистрироваться" style="height: 30px;"></td>
  </tr>
</table>
</form>

</div>
<div class="clr"></div>
Код:
<?PHP
$_OPTIMIZATION["title"] = "Аккаунт - Настройки";
$usid = $_SESSION["user_id"];
$db->Query("SELECT * FROM db_users_a WHERE id = '$usid'");
$user_data = $db->FetchArray();
?>
<div class="s-bk-lf">
    <div class="acc-title">Настройки</div>
</div>
<div class="silver-bk">
<div class="clr"></div>  

<center><b>Смена пароля</b></center>
<BR />
<?PHP
    if(isset($_POST["old"])){
  
        $old = $func->IsPassword($_POST["old"]);
        $new = $func->IsPassword($_POST["new"]);
      
            if($old !== false AND strtolower($old) == strtolower($user_data["pass"])){
          
                if($new !== false){
              
                    if( strtolower($new) == strtolower($_POST["re_new"])){
                  
                        $db->Query("UPDATE db_users_a SET pass = '$new' WHERE id = '$usid'");
                      
                        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 />";
      
    }

    if(isset($_POST["plat_pass"])){
  
        function plat_passs($plat_passs){
        if(!preg_match("/^[0-9]{4}$/", $plat_passs)) return false;
             return $plat_passs;
        }
        $plat_passs = plat_passs($_POST["plat_pass"]);
        $plat_pass = md5 ($plat_passs);
      
          
          
                if($plat_passs !== false){
              
                  
                  
                        $db->Query("UPDATE db_users_a SET plat_pass = '$plat_pass' WHERE id = '$usid'");
                      
                        echo "<center><font color = 'green'><b>Новый платежный пароль успешно установлен</b></font></center><BR />";
                  
                  
              
                }else echo "<center><font color = 'red'><b>Платежный пароль имеет неверный формат!</b></font></center><BR />";
          
          
      
    }

?>

Поле Пароль должно иметь от 6 до 20 символов (только англ. символы)
<form action="" method="post">
<table width="330" border="0" align="center">
  <tr>
    <td><b>Старый пароль:</b></td>
    <td align="center"><input type="password" name="old" /></td>
  </tr>
  <tr>
    <td><b>Новый пароль:</b></td>
    <td align="center"><input type="password" name="new" /></td>
  </tr>
  <tr>
    <td><b>Повтор пароля:</b></td>
    <td align="center"><input type="password" name="re_new" /></td>
  </tr>
  <tr>
    <td align="center" colspan="2"><BR /><input type="submit" value="Сменить пароль" /></td>
  </tr>
</table>
</form>
<BR />
<font color="red">Платежный пароль зачем нужен?Его вы указываете при выплате на свой кошелек защита ваших денег!</font>
<BR />
<?php
if($user_data['plat_pass'] != 0) {
echo '<font color="green">Вы уже установили платежный пароль! Для его смены обратитесь к Администрации!<br>Стоимость смены платёжного пароля стоит 50 рублей много, а не надо было забывать!!!</font><br><br>';
} else {
?>
<form action="" method="post">
<table width="330" border="0" align="center">
  <tr>
    <td><b>Платежный пароль(обязательно):</b></td>
    <td align="center"><input type="password" name="plat_pass" /></td>
  </tr>
  <tr>
    <td align="center" colspan="2"><BR /><input type="submit" value="Задать новый платёжный пароль" /></td>
  </tr>
</table>
</form>
<?php } ?>

<font color="red">Платежный пароль должен состоять только из цифр не длиннее 4-х символов!</font><BR>
<font color="red">НЕ ПОЛУЧИЛОСЬ ЗАДАТЬ ПЛАТЁЖНЫЙ ПАРОЛЬ ОБРАТИТЕСЬ К АДМИНИСТРАЦИИ!!!</font>
<div class="clr"></div>      
</div>
Я пытался но теряется страница. Может кто поможет буду очень признателен
 
rus56
Участник
Сообщения
126
Реакции
16
  • #116
<?PHP
$_OPTIMIZATION["title"] = "Аккаунт - Настройки";
$usid = $_SESSION["user_id"];
$db->Query("SELECT * FROM db_users_a WHERE id = '$usid'");
$user_data = $db->FetchArray();
?>
<div class="s-bk-lf">
<div class="acc-title">Настройки</div>
</div>
<div class="silver-bk">
<div class="clr"></div>

<center><b>Смена пароля</b></center>
<BR />
<?PHP

if(isset($_POST["old"])){

$old = $func->IsPassword($_POST["old"]);
$new = $func->IsPassword($_POST["new"]);
$new_md5 = md5($new);
if($old !== false AND strtolower(md5($old) == strtolower($user_data["pass"]))){

if($new !== false){

if( strtolower ($new) == strtolower ($_POST["re_new"])){

$db->Query("UPDATE db_users_a SET pass = '$new_md5' WHERE id = '$usid'");

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 />";
}
if(isset($_POST["plat_pass"])){

function plat_passs($plat_passs){
if(!preg_match("/^[0-9]{4}$/", $plat_passs)) return false;
return $plat_passs;
}
$plat_passs = plat_passs($_POST["plat_pass"]);
$plat_pass = md5 ($plat_passs);



if($plat_passs !== false){



$db->Query("UPDATE db_users_a SET plat_pass = '$plat_pass' WHERE id = '$usid'");

echo "<center><font color = 'green'><b>Новый платежный пароль успешно установлен</b></font></center><BR />";



}else echo "<center><font color = 'red'><b>Платежный пароль имеет неверный формат!</b></font></center><BR />";



}

?>


<form action="" method="post">
<table width="330" border="0" align="center">
<tr>
<td><b>Старый пароль:</b></td>
<td align="center"><input type="password" name="old" /></td>
</tr>
<tr>
<td><b>Новый пароль:</b></td>
<td align="center"><input type="password" name="new" /></td>
</tr>
<tr>
<td><b>Повтор пароля:</b></td>
<td align="center"><input type="password" name="re_new" /></td>
</tr>
<tr>
<td align="center" colspan="2"><BR /><input type="submit" value="Сменить пароль" /></td>
</tr>
</table>
</form>
<BR />
Поле Пароль должно иметь от 6 до 20 символов (только англ. символы)<br>

<br>


<?php
if($user_data['plat_pass'] != 0) {
echo '<font color="green">Вы уже установили платежный пароль! Для его смены обратитесь в службу поддержки!</font><br><br>';
} else {
?>
<form action="" method="post">
<table width="330" border="0" align="center">

<tr>
<td><b>Платежный пароль(обязательно):</b></td>
<td align="center"><input type="password" name="plat_pass" /></td>
</tr>
<tr>
<td align="center" colspan="2"><BR /><input type="submit" value="Сменить пароль" /></td>
</tr>
</table>
</form>
<?php } ?>

<font color="red">Платежный пароль должен состоять только из цифр и не длиннее 4-х символов!</font>
<div class="clr"></div>
</div>
 
Shoma2114
Местный
Сообщения
63
Реакции
2
  • #117
rus56 написал(а):
<?PHP
$_OPTIMIZATION["title"] = "Аккаунт - Настройки";
$usid = $_SESSION["user_id"];
$db->Query("SELECT * FROM db_users_a WHERE id = '$usid'");
$user_data = $db->FetchArray();
?>
<div class="s-bk-lf">
<div class="acc-title">Настройки</div>
</div>
<div class="silver-bk">
<div class="clr"></div>

<center><b>Смена пароля</b></center>
<BR />
<?PHP

if(isset($_POST["old"])){

$old = $func->IsPassword($_POST["old"]);
$new = $func->IsPassword($_POST["new"]);
$new_md5 = md5($new);
if($old !== false AND strtolower(md5($old) == strtolower($user_data["pass"]))){

if($new !== false){

if( strtolower ($new) == strtolower ($_POST["re_new"])){

$db->Query("UPDATE db_users_a SET pass = '$new_md5' WHERE id = '$usid'");

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 />";
}
if(isset($_POST["plat_pass"])){

function plat_passs($plat_passs){
if(!preg_match("/^[0-9]{4}$/", $plat_passs)) return false;
return $plat_passs;
}
$plat_passs = plat_passs($_POST["plat_pass"]);
$plat_pass = md5 ($plat_passs);



if($plat_passs !== false){



$db->Query("UPDATE db_users_a SET plat_pass = '$plat_pass' WHERE id = '$usid'");

echo "<center><font color = 'green'><b>Новый платежный пароль успешно установлен</b></font></center><BR />";



}else echo "<center><font color = 'red'><b>Платежный пароль имеет неверный формат!</b></font></center><BR />";



}

?>


<form action="" method="post">
<table width="330" border="0" align="center">
<tr>
<td><b>Старый пароль:</b></td>
<td align="center"><input type="password" name="old" /></td>
</tr>
<tr>
<td><b>Новый пароль:</b></td>
<td align="center"><input type="password" name="new" /></td>
</tr>
<tr>
<td><b>Повтор пароля:</b></td>
<td align="center"><input type="password" name="re_new" /></td>
</tr>
<tr>
<td align="center" colspan="2"><BR /><input type="submit" value="Сменить пароль" /></td>
</tr>
</table>
</form>
<BR />
Поле Пароль должно иметь от 6 до 20 символов (только англ. символы)<br>

<br>


<?php
if($user_data['plat_pass'] != 0) {
echo '<font color="green">Вы уже установили платежный пароль! Для его смены обратитесь в службу поддержки!</font><br><br>';
} else {
?>
<form action="" method="post">
<table width="330" border="0" align="center">

<tr>
<td><b>Платежный пароль(обязательно):</b></td>
<td align="center"><input type="password" name="plat_pass" /></td>
</tr>
<tr>
<td align="center" colspan="2"><BR /><input type="submit" value="Сменить пароль" /></td>
</tr>
</table>
</form>
<?php } ?>

<font color="red">Платежный пароль должен состоять только из цифр и не длиннее 4-х символов!</font>
<div class="clr"></div>
</div>
Окошко для ввода п/п всегда активное
 
rus56
Участник
Сообщения
126
Реакции
16
  • #118
Shoma2114 написал(а):
Окошко для ввода п/п всегда активное
Не всегда - есть какая то проблема при вводе плат. пароля символ начинающийся на 2- окошко будет активным попробуй пароль в виде 1312 и все будет ок. а так скрипт надо доработать.
 
Kamikadze
Местный
Сообщения
53
Реакции
5
  • #119
Код:
<div class="s-bk-lf">
  <div class="acc-title">Заказ выплаты</div>
</div>
<div class="silver-bk">
<BR />

<?PHP
  error_reporting(0);
$_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 => "Выплачено");

$db->Query("SELECT * FROM db_users_a, db_users_b WHERE db_users_a.id = db_users_b.id AND db_users_a.id = '$usid'");
$prof_data = $db->FetchArray();
if($prof_data["insert_sum"]<10) {
$status = "Стажер";
$max = "0";
} else if ($prof_data["insert_sum"]>=10 && $prof_data["insert_sum"]< 100) {
$status = "Рабочий";
$max = $prof_data["insert_sum"]*2;
}  else if ($prof_data["insert_sum"]>=100 && $prof_data["insert_sum"]< 500) {
$status = "Начальник";
$max = $prof_data["insert_sum"]*3;
}  else if ($prof_data["insert_sum"]>=500 && $prof_data["insert_sum"]< 1000) {
$status = "Директор";
$next = "1000";
$max = $prof_data["insert_sum"]*4;
}  else if ($prof_data["insert_sum"]>=1000) {
$status = "Олигарх";
$max = "99999999";
}

?>



<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"] < 10){

?>
<center><font color="red"><b>Выплату могут заказывать пользователи со статусом "Рабочий" и выше!<b></font></center><BR />
<BR />
<table width="99%" border="0" align="center">
  <tr>
    <td><font color="#000;">Введите кошелек Payeer (Пример: P12345678)</font>: </td>
  <td><input type="text" name="purse" size="15"/></td>
  </tr>
  <tr>
    <td><font color="#000;">Отдаете серебро для вывода</font> (Минимум 100 монет)<font color="#000;">:</font> </td>
  <td><input type="text" name="sum" id="sum" value="<?=round($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="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="USD" value="<?=$sonfig_site["ser_per_wmz"]; ?>" disabled="disabled"/>
  <input type="hidden" name="per" id="EUR" value="<?=$sonfig_site["ser_per_wme"]; ?>" 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" />
  <input type="hidden" name="per" id="min_sum_USD" value="<?=$min_p_wmz; ?>" disabled="disabled"/>
  <input type="hidden" name="per" id="min_sum_EUR" value="<?=$min_p_wme; ?>" disabled="disabled"/>
  </td>
  </tr>
  <tr>
    <td colspan="2" align="center"><input type="submit" name="lol" value="Заказать выплату" style="height: 30px; margin-top:10px;" /></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> 
</div>
<?PHP

return;
}

?>
  <b>На Вашем счету: <?=sprintf("%.2f",$user_data["pay_points"]); ?> баллов <a href="https://servahoc.ru/redirect.php?url=/pay_points">ПОЛУЧИТЬ БАЛЛЫ</a> </b><BR />
  <b>Ваш статус: <u><a href="https://servahoc.ru/redirect.php?url=/status"><?=$status;?></a></u>. Выплачено: <?=$user_data["payment_sum"];?> рублей / <?=$max;?> рублей</b><br>
  <b>С учетом ваших баллов и статуса вы можете вывести: <u><? if ($user_data["pay_points"] >= ($max-$user_data["payment_sum"])) { echo round($max-$user_data["payment_sum"]);} else echo round($user_data["pay_points"]); ?></u> рублей
<BR /><BR />
<center><b>Заказ выплаты:</b></center><BR />

<?PHP
    function ViewPurse($purse){
 
    if( substr($purse,0,1) != "P" ) return false;
    if( !ereg("^[0-9]{7,8}$", 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 >= 100){

  if (($sum/100) <= ($max-$user_data["payment_sum"])) {
     
          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)){
                 
                 
                 
                    $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'>Для вашего статуса закончился лимит выплат!</font></b></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 />";
 
  }
?>

<form action="" method="post">
<table width="99%" border="0" align="center">
  <tr>
    <td><font color="#000;">Введите кошелек Payeer (Пример: P12345678)</font>: </td>
  <td><input type="text" name="purse" size="15"/></td>
  </tr>
  <tr>
    <td><font color="#000;">Отдаете Серебро для вывода</font> (Минимум 100 монет)<font color="#000;">:</font> </td>
  <td><input type="text" name="sum" id="sum" value="<?=round($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="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="USD" value="<?=$sonfig_site["ser_per_wmz"]; ?>" disabled="disabled"/>
  <input type="hidden" name="per" id="EUR" value="<?=$sonfig_site["ser_per_wme"]; ?>" 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" />
  <input type="hidden" name="per" id="min_sum_USD" value="<?=$min_p_wmz; ?>" disabled="disabled"/>
  <input type="hidden" name="per" id="min_sum_EUR" value="<?=$min_p_wme; ?>" disabled="disabled"/>
  </td>
  </tr>
  <tr>
    <td colspan="2" align="center"><input type="submit" name="swap" value="Заказать выплату" style="height: 30px; margin-top:10px;" /></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> 
</div>
 
Kamikadze
Местный
Сообщения
53
Реакции
5
  • #120
Люди помогите с кодом, у меня мозг кипит уже с этим паролем, буду очень благодарен!
 
Сверху