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

/* DCMS Special
 * Дата последнего редактирования 22.12.2015
 * Модифицировал densnet
 */

foreach (array('start''compress''sess''settings''db_connect''ipua''fnc''shif') as $inc) {
    require_once 
"../sys/inc/{$inc}.php";
}

$show_all true;
include_once 
'sys/inc/user.php';

only_unreg();
$set['title'] = 'Регистрация';

require_once 
'sys/inc/thead.php';

if (
$set['reg_select'] == 'close') {
    
aut();

    echo 
"<div class='list-group-item'>Регистрация временно приостановлена<br />Попробуйте позже</div>";

    echo 
"<div class='list-group-item'><a href='/user/aut.php'><i class='material-icons'>keyboard_backspace</i> Авторизация</a></div>";
    require_once 
'sys/inc/tfoot.php';
} elseif (
$set['reg_select'] == 'open_mail' && isset($_GET['id']) && isset($_GET['activation']) && $_GET['activation'] != NULL) {
    if (
mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `id` = '" intval($_GET['id']) . "' AND `activation` = '" mysql_real_escape_string($_GET['activation']) . "'"), 0) == 1) {

        
mysql_query("UPDATE `user` SET `activation` = null WHERE `id` = '" intval($_GET['id']) . "' LIMIT 1");
        
$user mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `id` = '" intval($_GET['id']) . "' LIMIT 1"));
        
mysql_query("INSERT INTO `reg_mail` (`id_user`,`mail`) VALUES ('$user[id]','$user[ank_mail]')");
        
msg('Ваш аккаунт успешно активирован');

        
$_SESSION['id_user'] = $user['id'];
        require_once 
'sys/inc/tfoot.php';
    }
}

if (isset(
$_SESSION['step']) && $_SESSION['step'] == && mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `nick` = '" $_SESSION['reg_nick'] . "'"), 0) == && isset($_POST['pass1']) && $_POST['pass1'] != NULL && $_POST['pass2'] && $_POST['pass2'] != NULL) {

    if (
$set['reg_select'] == 'open_mail') {
        if (!isset(
$_POST['ank_mail']) || $_POST['ank_mail'] == NULL) {
            
$err[] = 'Неоходимо ввести Email';
        } elseif (!
preg_match('#^[A-z0-9-._]+@[A-z0-9]{2,}.[A-z]{2,4}$#ui'$_POST['ank_mail'])) {
            
$err[] = 'Неверный формат Email';
        } elseif (
mysql_result(mysql_query("SELECT COUNT(*) FROM `reg_mail` WHERE `mail` = '" mysql_real_escape_string($_POST['ank_mail']) . "'"), 0) != 0) {
            
$err[] = 'Пользователь с этим E-mail уже зарегистрирован';
        }
    }

    if (
utf8_strlen($_POST['pass1']) < 6) {
        
$err[] = 'По соображениям безопасности пароль не может быть короче 6-ти символов';
    }
    if (
utf8_strlen($_POST['pass1']) > 32) {
        
$err[] = 'Длина пароля превышает 32 символа';
    }
    if (
$_POST['pass1'] != $_POST['pass2']) {
        
$err[] = 'Пароли не совпадают';
    }

    
//Поисковое слово
    
$world_set_update $_POST['pass1'];
    
//файл где ищем
    
$file_default file_get_contents('sys/txt/if_password.txt');

    
//если  нету записываем 
    
if (stripos($file_default$world_set_update) !== false) {
        
$err[] = 'Пароль слишком простой';
    }

    if (!isset(
$_SESSION['captcha']) || !isset($_POST['chislo']) || $_SESSION['captcha'] != $_POST['chislo']) {
        
$err[] = 'Неверное проверочное число';
    }

    if (!isset(
$err)) {
        if (
$set['reg_select'] == 'open_mail') {
            
$activation md5(passgen());
            
mysql_query("INSERT INTO `user` (`nick`, `pass`, `pass_time`, `date_reg`, `date_last`, `sex`, `activation`, `ank_mail`) values('" mysql_real_escape_string($_SESSION['reg_nick']) . "', '" shif($_POST['pass1']) . "', '$time', '$time', '$time', '" intval($_POST['sex']) . "', '$activation', '" mysql_real_escape_string($_POST['ank_mail']) . "')"$db);

            
$id_reg mysql_insert_id();
            
$subject = ('Активация аккаунта');
            
$regmail = ('Здравствуйте') . "  $_SESSION[reg_nick]<br />
. ('Для активации Вашего аккаунта перейдите по ссылке') . ":<br />
<a href='http://
$_SERVER[HTTP_HOST]/user/reg.php?id=$id_reg&amp;activation=$activation'>http://$_SERVER[HTTP_HOST]/user/reg.php?id=" mysql_insert_id() . "&amp;activation=$activation</a><br />
. ('Если аккаунт не будет активирован в течении 24 часов, он будет удален') . " <br />
. ('С уважением, администрация сайта') . "<br />
"
;
            
$adds "From: "password@$_SERVER[HTTP_HOST]" <password@$_SERVER[HTTP_HOST]>n";
            
$adds .= "Content-Type: text/html; charset=utf-8n";
            
mail($_POST['ank_mail'], '=?utf-8?B?' base64_encode($subject) . '?='$regmail$adds);
        } else {
            
mysql_query("INSERT INTO `user` (`nick`, `pass`, `pass_time`, `date_reg`, `date_last`, `sex`) values('" mysql_real_escape_string($_SESSION['reg_nick']) . "', '" shif($_POST['pass1']) . "', '$time', '$time', '$time', '" intval($_POST['sex']) . "')"$db);
        }

        
$user mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `nick` = '" mysql_real_escape_string($_SESSION['reg_nick']) . "' AND `pass` = '" shif($_POST['pass1']) . "' LIMIT 1"));

        if (isset(
$_SESSION['http_referer'])) {
            
mysql_query("INSERT INTO `user_ref` (`time`, `id_user`, `type_input`, `url`) VALUES ('$time', '$user[id]', 'reg', '" mysql_real_escape_string($_SESSION['http_referer']) . "')");
        }

        
$_SESSION['id_user'] = $user['id'];
        
setcookie('id_user'$user['id'], time() + 60 60 24 365);
        
setcookie('pass'cookie_encrypt($_POST['pass1'], $user['id']), time() + 60 60 24 365);


        if (
$set['reg_select'] == 'open_mail') {
            
msg('Вам необходимо активировать Ваш аккаунт по ссылке, высланной на Email');
        } else {
            
msg('Регистрация прошла успешно');
        }

        echo 
"<div class='list-group-item'>";
        echo 
"Если Ваш браузер не поддерживает Cookie, Вы можете создать закладку для автовхода<br />";
        echo 
"<input type='text' class='form-control' value='http://$_SERVER[SERVER_NAME]/user/login.php?id=$user[id]&amp;pass=" htmlspecialchars($_POST['pass1']) . "' />";
        echo 
"Логин: <b>$user[nick]</b><br />";
        echo 
"Пароль: <b>" htmlspecialchars($_POST['pass1']) . "</b><br />";
        echo 
"</div>";
        if (
$set['reg_select'] == 'open_mail') {
            unset(
$user);
        }
        echo 
"<div class='list-group-item'><a href='/?umenu'><i class='material-icons'>keyboard_backspace</i> Кабинет</a></div>";

        require_once 
'sys/inc/tfoot.php';
    }
} elseif (isset(
$_POST['nick']) && $_POST['nick'] != NULL) {



    if (
mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `nick` = '" mysql_real_escape_string($_POST['nick']) . "'"), 0) == 0) {
        
$nick mysql_real_escape_string($_POST['nick']);


        if (!
preg_match("#^([A-z0-9-_])+$#ui"$_POST['nick'])) {
            
$err[] = 'В логине присутствуют запрещенные символы';
        }
        if (
preg_match("#[a-z]+#ui"$_POST['nick']) && preg_match("#[а-я]+#ui"$_POST['nick'])) {
            
$err[] = 'Разрешается использовать символы только русского или только английского алфавита';
        }
        if (
preg_match("#(^ )|( $)#ui"$_POST['nick'])) {
            
$err[] = 'Запрещено использовать пробел в начале и конце логина';
        }
        if (
utf8_strlen($nick) < 3) {
            
$err[] = 'Короткий логин';
        }
        if (
utf8_strlen($nick) > 32) {
            
$err[] = 'Длина логина превышает 32 символа';
        }
    } else {
        
$err[] = 'Логин «' stripcslashes(htmlspecialchars($_POST['nick'])) . '» уже зарегистрирован.<br />Выберите пожалуйста другой логин.';
    }


    if (!isset(
$err)) {
        
$_SESSION['reg_nick'] = $nick;
        
$_SESSION['step'] = 1;
    }
}

aut();
err();

if (isset(
$_SESSION['step']) && $_SESSION['step'] == 1) {
    echo 
"<form method='post' class='list-group-item' action='/user/reg.php?$passgen'>";

    echo 
"<div class='row'>";
    echo 
"<div class='input-field col s6'>";
    echo 
"<input id='nick' name='nick' length='32' type='text' value='$_SESSION[reg_nick]' class='validate'>";
    echo 
"<label for='nick'>Ваш логин</label>";
    echo 
"</div>";
    echo 
"</div>";

    echo 
"<button class='waves-effect waves-light btn'>Заменить</button>";
    echo 
"</form>n";

    echo 
"<form method='post' action='/user/reg.php?$passgen' class = 'list-group-item'>n";

    echo 
"<select class='form-control' name='sex'><option value='1'>Мужской</option><option value='0'>Женский</option></select>n";

    if (
$set['reg_select'] == 'open_mail') {
        echo 
"<div class='row'>";
        echo 
"<div class='input-field col s12'>";
        echo 
"<input id='ank_mail' name='ank_mail' length='50' type='text' value='' class='validate'>";
        echo 
"<label for='ank_mail'>E-mail</label>";
        echo 
"</div>";
        echo 
"</div>";

        echo 
"* Указывайте ваш реальный адрес E-mail. На него придет код для активации аккаунта.n";
    }

    echo 
"<div class='row'>";
    echo 
"<div class='input-field col s12'>";
    echo 
"<input id='pass1' name='pass1' length='32' type='password' value='' class='validate'>";
    echo 
"<label for='pass1'>Новый пароль</label>";
    echo 
"</div>";
    echo 
"</div>";

    echo 
"<div class='row'>";
    echo 
"<div class='input-field col s12'>";
    echo 
"<input id='pass2' name='pass2' length='32' type='password' value='' class='validate'>";
    echo 
"<label for='pass2'>Повторите пароль</label>";
    echo 
"</div>";
    echo 
"</div>";

    echo 
"<img src = '/captcha.php?$passgen&amp;SESS=$sess' width='100' height='30' alt='Проверочное число' /><br />";
    echo 
"<div class='row'>";
    echo 
"<div class='input-field col s4'>";
    echo 
"<input id='chislo' name='chislo' length='2' type='password' value='' class='validate'>";
    echo 
"<label for='chislo'>Ответ</label>";
    echo 
"</div>";
    echo 
"</div>";

    echo 
"<button class = 'waves-effect waves-light btn'>Далее</button>";
    echo 
"</form>";
} else {
    echo 
"<form method='post' class='list-group-item' action='/user/reg.php?$passgen'>n";

    echo 
"<div class='row'>";
    echo 
"<div class='input-field col s12'>";
    echo 
"<input id='nick' name='nick' length='32' type='text' value='' class='validate'>";
    echo 
"<label for='nick'>Введите логин</label>";
    echo 
"</div>";
    echo 
"</div>";

    echo 
"<button class = 'waves-effect waves-light btn'>Далее</button>";
    echo 
"<br /><br />";
    echo 
"<small>Регистрируясь, вы соглашаетесь с нашими <a href='/modules/info/rules.php'>Условиями использования</a> и подтверждаете, что ознакомились с нашей <a href='/modules/info/rules.php'>Политикой использования данных</a>, включая <a href='/modules/info/rules.php'>использование файлов «cookie»</a>.</small>";
    echo 
"</form>";
}

require_once 
'sys/inc/tfoot.php';
Онлайн: 0
Реклама