Вход Регистрация
Файл: profiwm.pp.ua/reg.php
Строк: 141
<?php

ob_start
();
session_start();

include 
'mod_reg.dat';
require 
'system/config.php';
include 
'system/user.php';
include 
'system/head.php';

function 
xss($var)
{
    
$var trim($var);
    
$var str_replace("0"""$var);
    
$var mysql_real_escape_string($var);
    
$var htmlspecialchars($varENT_QUOTES'UTF-8');
    return 
$var;
}

function 
int($var)
{
    
$var abs((int)$var);
    return 
$var;
}

echo 
$div_title 'Регистрация' $div_end;

   if (
$mod_reg == 0)
   {
      
err('Регистрация временно закрыта!');
      include 
'system/foot.php';
      exit();
   }

$mod = isset($_GET['mod']) ? $_GET['mod'] : '';
switch(
$mod)
{
    default:
    
// Если попытка повторной регистрации
    
if (!empty($_COOKIE['us']) && !empty($_COOKIE['ps'])) {
        
header('Location: index.php');
        die();
    }

        echo 
$div_menu '<b>Шаг 1</b>' $div_end;
        echo 
'<div>Приветствуем в клубе вап мастеров ' $site '!<br/>
              - Запрещена нецензурная лексика на всех модулях сайта. Правило распространяется и на те случаи, когда одна или несколько букв в таком слове заменены точками или другими знаками.<br/>
 - Запрещён флейм на всех модулях сайта, кроме предназначенных для этого (таких как раздел "Флейм" на форуме, если он есть, или чат).<br/>
 - Запрещено создание тем в форуме с названиями вида: "вопрос...", "помогите...", "срочно...", "где взять", "как сделать". Подобные темы будут удаляться, а пользователи наказываться баном.<br/>
 - Запрещено создание тем с просьбами о займе денег, а так же в предоставлении займа.<br/>
 - Запрещён флуд. Сообщения, состоящие только из смайликов, приравниваются к флуду.<br/>
 - Запрещено намеренное поднятие темы. Сообщения вида: "вверх", "ап" и т.д.<br/>
 - Запрещена реклама сторонних wap и web ресурсов на всех модулях сайта. Рекламой считается любой URL, не являющийся прямой ссылкой на файл. Подпись к ссылке "не реклама" расценивается как неуважение к администрации. Разрешается давать ссылку на страницу закачки данного (одного!) файла, но только если по техническим причинам нет возможности дать прямую ссылку. Свою личную страничку вы можете указать в вашей анкете.
 - Запрещается выкладывать файлы сомнительного содержания, к которым относятся вирусы, трояны и приложения, автоматически отправляющие платные SMS.<br/>
 - Запрещена реклама с целью личного обогащения или обмана пользователей ("бесплатный" GPRS и тому подобное мошенничество).<br/>
 - Запрещается обсуждение администраторов, модераторов и их действий публично. Все претензии принимаются через личные сообщения.<br/>
 - Запрещено намеренное клонирование ников других посетителей сайта. Имеется в виду регистрация под ником, схожим по написанию или звучанию с ником другого пользователя (особенно модератора или администратора), для намеренного введения в заблуждение пользователей сайта. Также запрещено регистрироваться под никами, которые могут ввести в заблуждение новичков сайта, например "Модератор", "Админ" и т.п.<br/>
 - Запрещено регистрировать ники откровенно сексуального характера, неприличные, нарушающие общепринятые нормы морали, оскорбляющие отдельных пользователей или группы пользователей (по национальному, религиозному или иному признаку).<br/>
 - Запрещены оскорбления, особенно этнического, политического, расового и религиозного характера на всех модулях сайта.<br/>
 - Запрещено размещать на любом из модулей сайта файлы и ссылки на видео и изображения с убийствами, казнями и т.п., а также с детской порнографией.<br/>
 - Запрещены призывы к нарушению законодательства РФ, а также сообщения, сами по себе нарушающие законодательство РФ.
$block '
              <a href="reg.php?mod=step2"><span class="next">Принимаю</span></a>
              <a href="index.php"><span class="next">Не принимаю</span></a>
              </div>'
;
    break;

    case 
step2:
        
$_SESSION['reg_user'] = '';
        if (!empty(
$_POST['user'])) {
            
$error '';
            
$user xss($_POST['user']);
            
$first_l mb_substr($user01'UTF8');
            
$last_l mb_substr($user, -11'UTF8');

if (!
preg_match('/^([a-zа-яё1-9_])+ ?([a-zа-яё1-9_])+$/ui'$user)) $error 'Ник может состоять только из букв англ/рус алфавита, цифр и одного пробела!';
elseif (!
preg_match('#^([a-zа-яё1-9])+$#ui'$first_l)) $error 'Ник должен начинаться с буквы или цифры!';
elseif (!
preg_match('#^([a-zа-яё1-9])+$#ui'$last_l)) $error 'Ник должен заканчиваться буквой или цифрой!';
elseif (
preg_match('/[a-z]/i'$user) && preg_match('/[а-яё]/siu'$user)) $error 'Ник не может одновременно содержать рус. и англ. буквы!';
elseif (
ctype_digit($user)) $error 'Ник не должен состоять из одних цифр!';
elseif (
mb_strlen($user'UTF-8') < 3$error 'Ник не должен содержать менее 3х знаков!';
elseif (
mb_strlen($user'UTF-8') > 15$error 'Ник не должен превышать 15 знаков!';

            
$latuser mb_strtolower($user'UTF8');
            
$sql mysql_query("SELECT `id` FROM `users` WHERE `latuser` = '$latuser' LIMIT 1");

            if (
mysql_num_rows($sql) != FALSE) {
                   
$error 'Указанный Вами ник ' $user ' уже занят!';
            }

            if (!empty(
$error)) {
                
err($error);
            } else {
                
$_SESSION['reg_user'] = $user;
                
header('Location: ' htmlspecialchars_decode('reg.php?mod=step3'));
            }
        }

    
$n = (isset($_GET['n'])) ? $_SESSION['empty_user'] . my_int($_GET['n']) : NULL;

        echo 
$div_menu 'Шаг 1 из 2
        ' 
$div_end '
  <form method="POST" action="reg.php?mod=step2" name="auth">
    <div>Введите желаемый ник, чтобы проверить не занят ли он:
      <br/>
      <input type="text" name="user" maxlength="15" title="nick" value="'
.$n.'"/>
      <br/>
      <input type="submit" value="Далее" name="enter"/>
    </div>
  </form>
&laquo; <a href="reg.php?mod=step1">Назад</a>'
;

    break;

    case 
step3:
        if (empty(
$_SESSION['reg_user'])) header('Location: reg.php?');
        if (isset(
$_POST['ok'])) {

                
$error '';
                
$user $_SESSION['reg_user'];
                
$first_l mb_substr($user01'UTF8');
                
$last_l mb_substr($user, -11'UTF8');
                
$pass xss($_POST['pass']);
                
$pass2 xss($_POST['pass2']);
                
$email xss($_POST['email']);
                
$icq int($_POST['icq']);
                
$sex int($_POST['sex']);
                
$info xss($_POST['info']);
                
$know int($_POST['know']);
                
$code int($_POST['code']);
                
$town xss($_POST['town']);
                
$latuser mb_strtolower($user'UTF8');
                
$sql mysql_query("SELECT `id` FROM `users` WHERE `latuser` = '$latuser' LIMIT 1");
                
$double_mail mysql_query("SELECT id FROM users WHERE email = '$email' LIMIT 1");

                if (!
preg_match('/^([a-zа-яё1-9_])+$/ui'$user)) $error 'Ник содержит запрещенные символы';
                elseif (!
preg_match('#^([a-zа-яё1-9])+$#ui'$first_l)) $error 'Ник должен начинаться с буквы или цифры!';
                elseif (!
preg_match('#^([a-zа-яё1-9])+$#ui'$last_l)) $error 'Ник должен заканчиваться буквой или цифрой!';
                elseif (
preg_match('/[a-z]/i'$user) && preg_match('/[а-яё]/siu'$user)) $error 'Ник не может одновременно содержать рус. и англ. буквы!';
                elseif (
mysql_num_rows($sql) != false$error 'Указанный Вами ник <b>' $user '</b> уже занят!';
                elseif (
mb_strlen($user'UTF-8') < 3$error 'Ник не должен содержать менее 3х знаков!';
                elseif (
mb_strlen($user'UTF-8') > 15$error 'Ник не должен превышать 15 знаков!';
                elseif (
ctype_digit($user)) $error 'Ник не должен состоять из одних цифр!';
                elseif (empty(
$pass)) $error 'Не заполнено поле пароль!';
                elseif (empty(
$pass2)) $error 'Не заполнено поле подтверждения пароля!';
                elseif (!
preg_match("!^[a-z0-9]+$!i"$pass)) $error 'В пароле обнаружены запрещенные знаки!';
                elseif (
mb_strlen($pass'UTF8') < 6$error 'Пароль не должен быть короче 6ти символов!';
                elseif (
mb_strlen($pass'UTF8') > 20$error 'Пароль не должен быть длиннее 20ти символов!';
                elseif (
$pass !== $pass2$error 'Пароли не совпадают!';
                elseif (
is_numeric($pass)) $error 'Слишком простой пароль, используйте буквы и цифры!';
                elseif (empty(
$town)) $error 'Не введен город!';
                elseif (!
preg_match('#^[A-z0-9-._]+@[A-z0-9]{2,}.[A-z]{2,4}$#ui'$email) && !empty($email)) $error 'Неверный формат email!';
                elseif (!empty(
$email) && mysql_num_rows($double_mail) != false$error 'Такой email уже зарегистрирован!';
                elseif (!isset(
$sex)) $error 'Не выбран пол!';
                elseif (empty(
$code)) $error 'Не введен проверочный код!';
                elseif (
$_SESSION['captcha'] != $code$error 'Не верный проверочный код!';

                if (empty(
$error)) {
                    
$now date('d-m-y');
                    
$ins_str "INSERT INTO `users` SET
                                `user` = '
$user',
                                `pass` = '
$pass',
                                `date` = '
$now',
                                `sex` = '
$sex',
                                `email` = '
$email',
                                `icq` = '
$icq',
                                `know` = '
$know',
                                `city` = '
$town',
                                `latuser` = '
$latuser',
                                `user_ip` = '
$ipl',
                                `user_soft` = '" 
xss($agent) . "',
                                `mod_reg` = '
$mod_reg'";

                    if (
mysql_query($ins_str))
                    {
                        
$myid mysql_insert_id();
                        
$_SESSION['us'] = $myid;
                        
$_SESSION['ps'] = $pass;
                         
setcookie('us'$myidtime() + 604800'/');
                         
setcookie('ps'$passtime() + 604800'/');
                        if (!empty(
$email))
                        {
                            
$subject 'Регистрация на ' $site;
                            
$regmail 'Здравствуйте ' $_SESSION['reg_user'] . '!<br/>
                                        Вы были успешно зарегистрированы в клубе мастеров ' 
$site '.<br/>
                                        Ваши данные для входа:<br/>
                                        логин - ' 
$_SESSION['reg_user'] . '<br/>
                                        пароль - ' 
$pass '<br/>
                                        Ссылка автовхода - http://' 
$site '/?us='.$myid.'&ps='.$pass.'<br/>
                                        <br/>
                                        Спасибо за регистрацию!<br/>
                                        С уважением, Администрация ' 
$site '.';
                            
$adds "From: "password@$_SERVER[HTTP_HOST]" <password@$site>n";
                            
$adds "Content-Type: text/html; charset=utf-8n";
                            
mail($email'=?utf-8?B?' base64_encode($subject) . '?='$regmail$adds);
                        }
                        unset(
$_SESSION['captcha']);
                    }
                    else
                    {
                        unset(
$_SESSION['captcha']);
                        
$error mysql_error() . '<br/>';
                    }
                }

if (empty(
$error))
{
    unset(
$_SESSION['captcha']);
    
$lid mysql_fetch_array(mysql_query("SELECT id FROM users ORDER BY id DESC LIMIT 1"));
    echo 
'Здравствуй <b>' $user '</b>! Поздравляем с успешной регистрацией.
          <br/>
          ' 
. ($email != '' 'На ваш email было отправлено письмо с данными для входа на сайт.<br/>' '') . '
          Автологин: <input type="text" value="http://'
.$site.'/?us='.$lid[0].'&ps='.$pass.'"/>
          <br/>
          &raquo; <a href="/index.php"><span style="color:#0000FF;">Войти</span></a>'
;
    include 
'system/foot.php';
    exit();
} else {
    unset(
$_SESSION['captcha']);
    
err($error);
}
}

    if (!isset(
$_SESSION['reg_user']))
    {
        
header('Location: ?');
        die();
    }
        
        if (!empty(
$error) || !isset($_GET['ok'])) {
     
        
$_SESSION['captcha'] = mt_rand(100999);
        
$redStar '<span style="color:#FF0000;">*</span>';

         echo 
$div_menu 'Шаг 2 из 2' $div_end '
                <FORM method="POST" action="reg.php?mod=step3" name="auth">
                Ваш ник: <b>' 
$_SESSION['reg_user'] . '</b>
              ' 
$block '
    <div>
      ' 
$redStar ' <label>Пароль:</label>
      <br/>
      <input type="password" name="pass" maxlength="20" title="Пароль"/>
      <br/>
      ' 
$redStar ' <label>Повтор пароля:</label>
      <br/>
      <input type="password" name="pass2" maxlength="20" title="Повтор пароля"/>
      <br/>
      ' 
$redStar ' <label>Ваш пол:</label>
      <br/>
      <input type="radio" name="sex" checked value="2"/> М
      <input type="radio" name="sex" value="1"/> Ж
      <br/>
      ' 
$redStar ' <label>Ваш город:</label>
      <br/>
      <input type="text" name="town" maxlength="20" title="Town"/>
      <br/>
      <label>Email:</label>
      <br/>
      <input type="text" name="email" maxlength="30" title="Email"/>
      <br/>
      <label>ICQ:</label>
      <br/>
      <input type="text" name="icq" size="10" maxlength="10" title="icq"/>
      <br/>
      <label>Деятельность:</label>
      <br/>
      <select name="know">
      <option value="0">-</option>
      <option value="1">Кодер</option>
      <option value="2">Дизайнер</option>
      <option value="3">Мастер</option>
      <option value="4">Продавец</option>
      <option value="5">Кредитор</option>
      </select>
      <br/>
      ' 
$redStar ' <label>Цифры с картинки:</label>
      <br/>
      <img src="captcha.php?' 
rand(0999) . '" alt=""/>
      <br/>
      <input type="text" name="code" size="3" maxlength="3" format="*N" title="code"/>
      <br/>
      <input type="submit" value="Завершить" name="ok"/>
    </div>
  </form>
$block '&laquo; <a href="reg.php?mod=step2">Назад</a>';
        }
        break;
}
    include 
'system/foot.php';
ob_end_flush();

?>
Онлайн: 0
Реклама