Вход Регистрация
Файл: public_html/page/user.php
Строк: 294
<?php 
if (!defined('BASE_DIR')) { exit(header($_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found'true)); }

$obEngine->addHeadHtml('<script type="text/javascript">
     $(document).ready(function()
     {
       if ($.cookie("ref") !== null) $(".ref").attr("value", $.cookie("ref"));
      
   
       if (typeof ($.session.get("login")) !== "undefined") document.form1.login.value = $.session.get("login");
       if (typeof ($.session.get("email")) !== "undefined") document.form1.email.value = $.session.get("email");
       if (typeof ($.session.get("pass")) !== "undefined") document.form1.pass.value = $.session.get("pass");
     }); 

     function validate1()
     {
       var valid = true;

       temp = $.ajax ({ url: "fetch.php", type: "POST", data:  "mode=check_login&login=" + document.form1.login.value, async: false }).responseText;
        
       if (temp.search("taken") != -1)
       {
     alert ("Логин занят");
     valid = false;    
       }

       if ((document.form1.login.value.length < 3) && (valid == true))
       {
         alert ("Минимальная длина логина 3 символа");
     valid = false;
       }

       if ((document.form1.email.value == "") && (valid == true))
       {
         alert ("Не заполнено поле «Email»");
         valid = false;
       }

       temp = $.ajax ({ url: "fetch.php", type: "POST", data:  "mode=check_email&email=" + document.form1.email.value, async: false }).responseText;
       
       if ((temp.search("taken") != -1)  && (valid == true))
       {
     alert ("Пользователь с таким Email уже зарегистрирован");
     valid = false;    
       }

       if ((document.form1.pass.value == "")  && (valid == true))
       {
     alert ("Не заполнено поле «Пароль»");
     valid = false;    
       }

       if ((document.form1.pass.value == document.form1.login.value)  && (valid == true))
       {
     alert ("Пароль не должен совпадать с логином");
     valid = false;    
       }

       if ((document.form1.pass.value.length < 6) && (valid == true))
       {
         alert ("Минимальная длина пароля 6 символов");
     valid = false;
       }

       if ((document.getElementById("radio1").checked == false) && (document.getElementById("radio2").checked == false) && (valid == true))
       {
         alert ("Не выбран начальный интерфейс аккаунта");
     valid = false;
       }

       if (valid == true)
       {

     if (document.getElementById("radio1").checked) { tab_main = 0; }
     if (document.getElementById("radio2").checked) { tab_main = 1; }

       }

       return valid;
     }

     function validate3()
     {
       var valid = true;

       if ((document.form3.login.value == "")  && (document.form3.email.value == ""))
       {
         alert ("Необходимо заполнить хотя бы одно поле");
     valid = false;
       }



       if ((document.form3.login.value !== "") && (valid == true))
       {
     temp = $.ajax ({ url: "fetch.php", type: "POST", data:  "mode=check_login&login=" + document.form3.login.value, async: false }).responseText;
         
     if (temp == "free")
     {
       alert ("Логин не найден");
       valid = false;    
     }
       }

       if ((document.form3.email.value !== "") && (valid == true))
       {
     temp = $.ajax ({ url: "fetch.php", type: "POST", data:  "mode=check_email&email=" + document.form3.email.value, async: false }).responseText;
         
     if (temp == "free")
     {
       alert ("Email не найден");
       valid = false;    
     }
       }

       return valid;
     }

     function validate4(input)
     { 
       var value = input.value; 
       var good = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz@.";
       
       for (i=0; i<value.length; i++)
       {
     letter = value.charAt(i)
     if (good.indexOf(letter) == -1) { input.value = value.replace(letter, ""); } 
       }
     } 

     $(".radioB input").change(function()
     {
       $(".radioB input").removeAttr("checked");
       $(this).prop("checked", true);
     });
    </script>'
); 

?>
<div class="wrapper">
<?php    

$mode 
= isset($_GET['mode']) ? $_GET['mode'] : '404';

if (
$mode)
{
  switch (
$mode
  {
    case 
'login':
    
    if (isset(
$_POST['login']) && isset($_POST['pass']))    
    {    
      
$login filter_var($_POST['login'], FILTER_SANITIZE_STRING); 
    
      
$query $mysqli->query("SELECT `id`, `password` FROM `".PREFIX."_users` WHERE `login` = '".$login."' LIMIT 1");    
  
      if (!
$query->num_rows)
      {
        echo 
'Пользователь не существует';
        break;
      }
      else
      {
        
$res $query->fetch_assoc();
        
        
$pass filter_var($_POST['pass'], FILTER_SANITIZE_STRING);
        
        if (
md5(md5($pass.HASH_MD5)) != $res['password'])
        {
          echo 
'Неверный пароль';    
          
          break;
        }
      }
     
      
$ban "";
      
      if (!isset(
$_COOKIE['login']))
      {
        @
setcookie('login'$loginTIME+2500000'/'); 
      }
      else 
      {
        if (
$_COOKIE['login'] != $login)
        {
          
$ban ", `ban` = '1'";
          
          @
setcookie('login'$loginTIME+2500000'/'); 
        }    
      }
      
      
$mysqli->query("UPDATE `".PREFIX."_users` SET `ip_log` = '".$_SERVER['REMOTE_ADDR']."' ".$ban." WHERE `id` = '".$res['id']."'"); 
      
      
$_SESSION['user_id'] = $res['id'];
      
      
header('Location: /account.php');
    }  
        
    break;    
      
    case 
'register':

    if (isset(
$_SESSION['user_id'])) 
    {
      echo 
'Вы уже зарегистрированы';
      break;
    }    
        
    
$obEngine->addTitleHtml('Регистрация');    
    
?>
     <script src="js/jquery.captcha.js" type="text/javascript"></script>
     <div class="title">Регистрация</div>
     <div class="menu">

       
       <form  name="form1" action="?mode=save" method="post"  onsubmit="return validate1();">
    <b style="color:red;">*</b> <b>Логин:</b>
    <input name="login" value="" type="text" maxlength="50" class="tt" onkeyup="return validate4(this);" onchange="return validate4(this);">
    <b style="color:red;">*</b> <b>Email:</b><input type="text" value="" maxlength="50" name="email" class="tt" onkeyup="return validate4(this);" onchange="return validate4(this);">
     <br >
     <span style="color:#888">(на этот электронный адрес будут высланы данные для авторизации)</span>
     <b style="color:red;">*</b>  <b>Пароль:</b><input type="text" value="" name="pass" maxlength="50" class="tt" onkeyup="return validate4(this);" onchange="return validate4(this);">
     <br />
     <span style="color: red">(не используйте пароли от других сайтов)</span>
    
     <br><b style="color:red;">*</b> <b>Начальный интерфейс учетной записи:</b><br>
<input id="radio2" type="radio" name="tab_main" value="1" <?php echo $tab_main = isset($_GET['tab_main']) && $_GET['tab_main'] == 'checked' ''?> ><label for="radio2">Рекламодатель</label>
<input id="radio1" type="radio" name="tab_main" value="0" <?php echo $tab_main = isset($_GET['tab_main']) && $_GET['tab_main'] == 'checked' ''?> ><label for="radio1">Вебмастер</label>    
<br>        <input class="input" type="text" name="norobot" />
        <img src="captcha.php" />


<a href="info.php?mode=rules">Правила сервиса</a>
    <button>Регистрация</button>
    </div>
       </form>
      </div>
      <?php include 'module/user_menu.php'?>
     </div>   
    <?php

    
break;

    case 
'save':
        
 
       
    
session_start();
    if (
md5($_POST['norobot']) == $_SESSION['randomnr2'])    { 
        
            echo 
"Отлично , кажется, что вы не робот";
    }    else {  
        
            echo 
"вы весьма надоедливый бот!";
    }
    
$login filter_var($_POST['login'], FILTER_SANITIZE_STRING); 
    
    if (
mb_strlen($login) < 3)
    {
      echo 
'Что то пошло не так...';
      unset(
$_SESSION['image_captcha']);
      break;
    } 
    
    
$query $mysqli->query("SELECT `id` FROM `".PREFIX."_users` WHERE `login` = '".$login."' LIMIT 1");    

     
    
$email filter_var($_POST['email'], FILTER_VALIDATE_EMAIL);
    

    
    
$query $mysqli->query("SELECT `id` FROM `".PREFIX."_users` WHERE `email` = '".$email."' LIMIT 1");    
  
    
    
    
$password filter_var($_POST['pass'], FILTER_SANITIZE_STRING);
    
 
    
    
$tab_main $_POST['tab_main'];    
   
 
    
    
$referer = isset($_COOKIE['ref']) ? (int)$_COOKIE['ref'] : 0;
        
    
$query $mysqli->query("SELECT `id` FROM `".PREFIX."_users` WHERE `id` = '".$referer."' LIMIT 1");    
  
    if (!
$query->num_rows)
    {
      
$referer 0;           
    }      
    
    
$md5_password md5(md5($password.HASH_MD5));
  
    
$result $mysqli->query("INSERT INTO `".PREFIX."_users`
        (
          `login`,
          `password`,
          `email`,
          `referer`,
          `data_reg`,                  
          `ip_reg`,
          `ip_log`,
          `tab_main`
        )
        VALUES
        (
          '"
.$login."',
          '"
.$md5_password."',
          '"
.$email."', 
          '"
.$referer."',    
          NOW(),                         
          '"
.$_SERVER['REMOTE_ADDR']."', 
          '"
.$_SERVER['REMOTE_ADDR']."',     
          '"
.$tab_main."'    
        )"
);
        
    if (
$mysqli->insert_id())
    {
      
$_SESSION['user_id'] = $mysqli->insert_id();
      
      unset(
$_SESSION['image_captcha']);
      
      
addStats('all_users'1);
           
      
$headers "From: ".$obEngine->getConfig('site_name')." <".$obEngine->getConfig('site_name').">n";
      
$headers $headers."Content-type: text/html; charset="utf-8"n";
      
$headers $headers."Return-path: <".$obEngine->getConfig('site_email').">n";
      
$message 'Здравствуйте, <b>'.$login.'</b>!<br>
          Вы зарегистрировались в сервисе интернет-рекламы '
.$obEngine->getConfig('site_name').'.<br><br>
          Данные для входа на сайт: <br>
          Логин: <b>'
.$login.'</b><br>
          Пароль: <b>'
.$password.'</b><br>
          <br><br>
          --<br>
          С наилучшими пожеланиями,<br> Администрация '
.$obEngine->getConfig('site_name').''."n";
      
$subject 'Регистрация в '.$obEngine->getConfig('site_name').'';
      
mail($email$subject$message$headers);
      
      
header('Location: /account.php');
    }  
    
    break;  
    
    case 
'lost':
    
    if (isset(
$_SESSION['user_id'])) 
    {
      echo 
'Пароль смените в профиле';
      break;
    }       
        
    
$obEngine->addTitleHtml('Восстановление пароля');  
    
    if (isset(
$_POST['login']))
    {

      
      
$login filter_var($_POST['login'], FILTER_SANITIZE_STRING); 
    
      
$email filter_var($_POST['email'], FILTER_SANITIZE_STRING); 
      
      
$query $mysqli->query("SELECT `id`, `login`, `email`, `password` FROM `".PREFIX."_users` WHERE `login` = '".$login."' || `email` = '".$email."' LIMIT 1");    
  
      if (!
$query->num_rows)
      {
        echo 
'Пользователь с такими данными не существует';
        break;
      }
      else
      {
        
$res $query->fetch_assoc();
        
        
$password genPassword(8);
        
        
$md5_password md5(md5($password.HASH_MD5));
        
        
$mysqli->query("UPDATE `".PREFIX."_users` SET `password` = '".$md5_password."' WHERE `id` = '".$res['id']."'");      
        
        
$headers "From: ".$obEngine->getConfig('site_name')." <".$obEngine->getConfig('site_name').">n";
        
$headers $headers."Content-type: text/html; charset="utf-8"n";
        
$headers $headers."Return-path: <".$obEngine->getConfig('site_email').">n";
        
$message 'Здравствуйте, <b>'.$res['login'].'</b>!<br>
          Вы сделали запрос на восстановление пароля в сервисе интернет-рекламы '
.$obEngine->getConfig('site_name').'.<br><br>
          Данные для входа на сайт: <br>
          Логин: <b>'
.$res['login'].'</b><br>
          Пароль: <b>'
.$password.'</b><br>
          <br><br>
          --<br>
          С наилучшими пожеланиями,<br> Администрация '
.$obEngine->getConfig('site_name').''."n";
        
$subject 'Восстановление пароля от '.$obEngine->getConfig('site_name').'';
        
mail($res['email'], $subject$message$headers);
        
        unset(
$_SESSION['image_captcha']);
        
        echo 
'<h1>Пароль выслан</h1>';
        
        break;
      }
  
      unset(
$_SESSION['image_captcha']);
    }    
    
?>
    <script src="js/jquery.captcha.js" type="text/javascript"></script> 
    <div class="title">
Bосстановление пароля</div>    <div class="menu">
      <form name="form3" action="?mode=lost" method="post" onsubmit="return validate3();">

    Логин:


<span style="font-weight: normal;">или</span> Email:
<inpt type="text" name="login" maxlength="25" class="tt">
    <input type="text" maxlength="40" value="" name="email" class="tt">
  
   код<input class="input" type="text" name="norobot" />
        <img src="captcha.php" />
<button style="float:right;">Восстановить</button><br>
      </form>
     </div>
     <?php include 'module/user_menu.php'?>  
    </div>
    <?php
        
    
break;    

    default:
    
    
header($_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found'true);  
    echo 
'<h1>Страница не найдена</h1>';    
        
    break;
  }
}
?>
</div>
Онлайн: 0
Реклама