Advertisement
Guest User

Untitled

a guest
Feb 9th, 2018
364
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 10.83 KB | None | 0 0
  1. <?php
  2.     session_start();
  3.     if(!defined('DATALIFEENGINE')) die("Hacking attempt!");
  4.     $username = $member_id['name'];
  5.             $path = $_SERVER['DOCUMENT_ROOT'];
  6.             $userid = file_get_contents($path."/files/register/userid.txt");
  7.             $a = (int)$userid +1;
  8.             file_put_contents($path."/files/register/userid.txt", (string)$a); 
  9.     if(!$username || $username == 'AvengerCat') {
  10.         $header = "Регистрация нового игрока";
  11.         if($_POST['goreg']) {
  12.             $realuserip = $_SERVER["REMOTE_ADDR"];
  13.             $myIP = get_ip();
  14.             $nickname = $db->safesql($_POST['nickname']);
  15.             $email = $db->safesql($_POST['email']);
  16.             $vk = $db->safesql($_POST['vk']);
  17.             $fullname = $db->safesql($_POST['fullname']);
  18.             $pass = $db->safesql($_POST['pass']);
  19.             $capt = $db->safesql($_POST['capt']);
  20.             $pass2 = $db->safesql($_POST['pass2']);
  21.             $checkName = $db->query("SELECT * FROM dle_users WHERE name='$nickname'");
  22.             $checkMail = $db->query("SELECT * FROM dle_users WHERE email='$email'");
  23.             if(strcasecmp($capt, $_SESSION['sec_code_session']) != 0) $line[0] .= createNotifer("error", "Введено неверное проверочное слово. Повторите попытку.<br/>Если вы уверены, что вводите верно, используйте для регистрации <b>Google Chrome</b> или <b>Firefox</b>");
  24.             elseif(!$nickname) $line[0] .= createNotifer("error", "Необходимо указать желаемый ник. Мир же должен вас как-то запомнить?");
  25.             elseif(mb_strlen($nickname, 'utf-8') < 4) $line[0] .= createNotifer("error", "Ник не может быть короче четырех символов.");
  26.             elseif(mb_strlen($nickname, 'utf-8') > 11) $line[0] .= createNotifer("error", "Ник не может быть длиннее 11ти символов.");
  27.             elseif(mb_strlen($pass, 'utf-8') < 3) $line[0] .= createNotifer("error", "Пароль не может быть короче трех символов.");
  28.             elseif(mb_strlen($pass, 'utf-8') > 16) $line[0] .= createNotifer("error", "пароль не может быть длиннее 16ти символов.");
  29.             elseif(!preg_match("/^[0-9a-z_]+$/i", $nickname)) $line[0] .= createNotifer("error", "Ник может состоять только из цифр, букв и нижнего подчеркивания.");
  30.             elseif(preg_match('/^[0-9]+$/i', $nickname)) $line[0] .= createNotifer("error", "Ник не может состоять только из цифр.");
  31.             elseif(mb_strlen(preg_replace('/[^\d]/', '', $nickname), 'utf-8') > 8) $line[0] .= createNotifer("error", "Ник не должен иметь больше восьми цифр.");
  32.             elseif($db->num_rows($checkName)) $line[0] .= createNotifer("error", "Указанный ник уже зарегистрирован, придумайте другой.");
  33.             elseif(!$email) $line[0] .= createNotifer("error", "Укажите свой Email, мы же туда отправим пароль для входа в игру");
  34.             elseif(!filter_var($email, FILTER_VALIDATE_EMAIL)) $line[0] .= createNotifer("error", "Укажите действительный Email");
  35.             elseif(strcmp($pass, $pass2) != 0) $line[0] .= createNotifer("error", "Введенные пароли не совпадают, попробуйте еще раз.");
  36.             elseif($db->num_rows($checkMail)) $line[0] .= createNotifer("error", "Указанный Email адрес уже зарегистрирован.");
  37.            
  38.             else {
  39.                 $password = $pass;
  40.                 $hashPassword = md5($password);
  41.                 $regpassword = md5(md5($password));
  42.                 include("/var/www/fourwars.ru/engine/classes/mail.class.php");
  43.                 include("/var/www/fourwars.ru/engine/data/config.php");
  44.                 $DURL = 'http://fourwars.ru/';
  45.                 $db->query("INSERT INTO dle_players (user_id, name, password, email) VALUES ('$userid', '$nickname', '$password', '$email')");
  46.                 $sendmail = new dle_mail($config);
  47.                 $sendmail->send($email, "Регистрация на Fourwars.ru", "
  48.                 Поздравляем, вы успешно зарегистрировались на комплексе серверов Minecraft - <b>fourwars.ru!
  49.                 Ваши данные для входа в игру и на сайт:
  50.                
  51.                 Ник: $nickname
  52.                 Пароль: $password
  53.                
  54.                 С уважением, команда FourWars!
  55.                 ");
  56.                 if(isset($_COOKIE['ref_name'])){
  57.                 $db->query( "INSERT INTO dle_users (name, password, user_id, email, reg_date, lastdate, user_group, land, fullname, info, signature, favorites, xfields, logged_ip, byurl) VALUES ('$nickname', '$regpassword', '$userid', '$email', '".time()."', '".time()."', '4', '$land', '$fullname', '', '', '', '', '$myIP', '".$db->safesql($_COOKIE['ref_name'])."')" );
  58.                 } else {
  59.                 $db->query( "INSERT INTO dle_users (name, password, user_id, email, reg_date, lastdate, user_group, land, fullname, info, signature, favorites, xfields, logged_ip) VALUES ('$nickname', '$regpassword', '$userid', '$email', '".time()."', '".time()."', '4', '$land', '$fullname', '', '', '', '', '$myIP')" );
  60.                 }
  61.                 $id = $db->insert_id();
  62.                 set_cookie( "dle_user_id", $id, 365 );
  63.                 set_cookie( "dle_password", $hashPassword, 365 );
  64.                 if(function_exists('openssl_random_pseudo_bytes')) $stronghash = md5(openssl_random_pseudo_bytes(15));
  65.                 else $stronghash = md5(uniqid( mt_rand(), TRUE ));
  66.                 $salt = sha1( str_shuffle("abcdefghjkmnpqrstuvwxyz0123456789").$stronghash);
  67.                 $hash = '';
  68.                 for($i = 0; $i < 9; $i ++) {
  69.                     $hash .= $salt{mt_rand( 0, 39 )};
  70.                 }
  71.                 $hash = md5( $hash );
  72.                 $db->query( "UPDATE dle_users set hash='".$hash."', lastdate='{$_TIME}', logged_ip='$myIP' WHERE user_id='$id'" );
  73.                 set_cookie( "dle_hash", $hash, 365 );
  74.                 $_COOKIE['dle_hash'] = $hash;
  75.                 header("Location: $DURL");
  76.                 exit();
  77.             }
  78.         }
  79.         if(empty($_COOKIE['ref_name'])) {
  80.             $refferer = "";
  81.         } else {
  82.             $refferer = "
  83.             <tr>
  84.                         <td>
  85.                         Вы являетесь рефералом
  86.                         </td>
  87.                         <td>
  88.                         Вас пригласил игрок с ником {$_COOKIE['ref_name']}
  89.                         </td>
  90.                     </tr>
  91.             ";
  92.         }
  93.         $line[0] .= "
  94. <div class='uk-alert uk-alert-warning' style='margin-top:0px;'>
  95.             <form class='uk-form' method='post' action=''>
  96.                 <table class='uk-table uk-width-1-1' style='color:black;width:102.5%;margin-left:-10px;margin-top:-10px;margin-bottom:10px;'>
  97.                     <tbody><tr>
  98.                         <td>
  99.                             Введите желаемый ник <b style='color:red;cursor:help;font-size:6pt;' data-uk-tooltip='' title='Обезательно к заполнению'><i class='uk-icon-asterisk'></i></b>
  100.                             <div class='uk-text-muted uk-text-small'>Меньше цифр и спец.символов, больше букв</div>
  101.                         </td>
  102.                         <td>
  103.                             <input id='usernames' type='text' class='uk-width-1-1' name='nickname' placeholder='Например: Example' autocomplete='off' style='width:100%;'>
  104.                            
  105.                            
  106.                         </td>
  107.                     </tr>
  108.                     <tr>
  109.                         <td>
  110.                             Введите свой Email <b style='color:red;cursor:help;font-size:6pt;' data-uk-tooltip='' title='Обезательно к заполнению'><i class='uk-icon-asterisk'></i></b>
  111.                             <div class='uk-text-muted uk-text-small'>Для связи с Вами, внимательнее</div>
  112.                         </td>
  113.                         <td>
  114.                             <input type='text' class='uk-width-1-1' name='email' placeholder='Например: example@gmail.com' autocomplete='off'>
  115.                         </td>
  116.                     </tr>
  117.                     <tr>
  118.                         <td>
  119.                             Придумайте себе пароль <b style='color:red;cursor:help;font-size:6pt;' data-uk-tooltip='' title='Обезательно к заполнению'><i class='uk-icon-asterisk'></i></b>
  120.                             <div class='uk-text-muted uk-text-small'>От 6-ти до 20-ти символов</div>
  121.                         </td>
  122.                         <td>
  123.                             <input id='gens_pass1' type='password' class='uk-width-1-1' name='pass' placeholder='hgjhgks742, например' autocomplete='off' style='width:100%;'>
  124.                            
  125.                         </td>
  126.                     </tr>
  127.                     <tr>
  128.                         <td>
  129.                             Повторите пароль <b style='color:red;cursor:help;font-size:6pt;' data-uk-tooltip='' title='Обезательно к заполнению'><i class='uk-icon-asterisk'></i></b>
  130.                             <div class='uk-text-muted uk-text-small'>Такой же, как выше</div>
  131.                         </td>
  132.                         <td>
  133.                             <input id='gens_pass2' type='password' class='uk-width-1-1' name='pass2' placeholder='hgjhgks742' autocomplete='off'>
  134.                         </td>
  135.                     </tr>
  136.                     <tr>
  137.                         <td>
  138.                             Как Вас зовут?
  139.                             <div class='uk-text-muted uk-text-small'>Укажите Ваше настоящее имя</div>
  140.                         </td>
  141.                         <td>
  142.                             <input type='text' class='uk-width-1-1' name='fullname' placeholder='Например: Жека' autocomplete='off'>
  143.                         </td>
  144.                     </tr>
  145.                     <tr>
  146.                         <td>
  147.                             Ваш ВК
  148.                             <div class='uk-text-muted uk-text-small'>Укажите Ваш ВКонтакте</div>
  149.                         </td>
  150.                         <td>
  151.                             <input type='text' class='uk-width-1-1' name='vk' placeholder='Например: http://vk.com/d0m1n' autocomplete='off'>
  152.                         </td>
  153.                     </tr>
  154.                    
  155.                     <tr>
  156.                         <td>
  157.                             Капча <b style='color:red;cursor:help;font-size:6pt;' data-uk-tooltip='' title='Обезательно к заполнению'><i class='uk-icon-asterisk'></i></b>
  158.                             <div class='uk-text-muted uk-text-small'>Введите данные с картинки</div>
  159.                         </td>
  160.                         <td>
  161.                             <img src='/engine/modules/antibot/antibot.php'><input type='text' style='width: 187px;height: 80px;margin-left: 10px;text-align: center;font-size: 15pt;' name='capt' placeholder='LDD43D' autocomplete='off'>
  162.                         </td>
  163.                     </tr>
  164.                 <script>
  165.                 function passgen() {
  166.                     $.post('/engine/modules/antibot/password.php', {}, function(code) {
  167.                         document.getElementById('gens_pass1').value = code;
  168.                         document.getElementById('gens_pass2').value = code;
  169.                         document.getElementById('gens_pass1').setAttribute('type', 'text');
  170.                         document.getElementById('gens_pass2').setAttribute('type', 'text');
  171.                     });
  172.                 }
  173.                 function chechuser() {
  174.                     var username = document.getElementById('usernames').value;
  175.                     $.ajax({
  176.                     type: 'POST',
  177.                     url: '/engine/modules/antibot/chechuser.php',
  178.                     data: { action: 'chechusers', checkname: username },
  179.                     success: function(html) {
  180.                         $('#usercheck').html(html);
  181.                     }
  182.                 });
  183.                 }
  184.                 </script>
  185.                 </tbody></table>
  186.                 <input type='submit' class='uk-button uk-button-success uk-width-1-1' style='color: white' value='Завершить регистрацию' name='goreg'>
  187.             </form></div>
  188.         ";
  189.        
  190.         $tpl->load_template('modules.tpl');
  191.         $tpl->set('{header}', $header);
  192.         $tpl->set('{line0}', $line[0]);
  193.         $tpl->compile('content');
  194.         $tpl->clear();
  195.     } else {
  196.         header("Location: $DURL");
  197.         exit();
  198.     }
  199. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement