2023-01-06 14:57:25 +00:00
< ? php
2022-06-06 21:30:34 +00:00
2023-01-06 14:57:25 +00:00
/* @var $u User */
2022-06-06 21:30:34 +00:00
2023-01-06 14:57:25 +00:00
use Core\Config ;
use User\Email ;
use User\Password ;
2022-06-06 21:30:34 +00:00
2023-01-06 14:57:25 +00:00
if ( ! defined ( 'GAME' )) {
die ();
2022-06-06 21:30:34 +00:00
}
2023-01-06 14:57:25 +00:00
$password = new Password ( $u -> info );
$email = new Email ( $u -> info );
$status = null ;
if ( $_POST [ 'oldpsw2' ]) { // remove psw2
if ( password_verify (( int ) $_POST [ 'oldpsw2' ], $u -> info [ 'pass2' ])) {
$u -> info [ 'pass2' ] = $password -> changeSecond ( null )[ 'pass2' ];
2023-01-10 16:29:32 +00:00
$status = " <b style='color: darkolivegreen'>Второй пароль выключен.</b><br> " ;
2023-01-06 14:57:25 +00:00
} else {
2023-01-10 16:29:32 +00:00
$status = " <b style='color: red'>Введен не верный второй пароль!</b><br> " ;
2023-01-06 14:57:25 +00:00
}
}
2022-06-06 21:30:34 +00:00
2023-01-06 14:57:25 +00:00
if ( $_POST [ 'num_count' ]) { //add psw2
$arr = $password -> changeSecond (( int ) $_POST [ 'num_count' ]);
2023-01-10 16:29:32 +00:00
$status = " <b style='color: red'>Второй пароль: { $arr [ 'pass2' ] } .<br>
Запомните или запишите , т . к . он не высылается на email и е г о нельзя как - либо узнать .
Потеряв второй пароль , вы потеряете персонажа !< br >
Этот пароль выслан на ваш email .< br >
2023-01-06 14:57:25 +00:00
</ b >< br > " ;
$u -> info [ 'pass2' ] = $arr [ 'hash' ];
}
2022-06-06 21:30:34 +00:00
2023-01-06 14:57:25 +00:00
if (
(
$_POST [ 'oldpass' ] && $_POST [ 'npass' ] && $_POST [ 'npass2' ] ||
$_POST [ 'oldpsw' ] && $_POST [ 'oldemail' ] && $_POST [ 'newemail' ]
) &&
$u -> info [ 'securetime' ] > time ()
) {
2023-01-10 16:29:32 +00:00
$status = " <span style='color: red'>Должно пройти не менее трех суток между сменой подтверждения, пароля или email.</span><br> " ;
2023-01-06 14:57:25 +00:00
} else {
2023-01-10 16:29:32 +00:00
if ( $_POST [ 'oldpass' ] && $_POST [ 'npass' ] && $_POST [ 'npass2' ]) { /*-------Смена пароля--------*/
2023-01-06 14:57:25 +00:00
if ( ! password_verify ( $_POST [ 'oldpass' ], $u -> info [ 'pass' ])) {
2023-01-10 16:29:32 +00:00
$status = " <span style='color: red;'>Неверный старый пароль.</span><br> " ;
2023-01-06 14:57:25 +00:00
} elseif ( $_POST [ 'npass' ] !== $_POST [ 'npass2' ]) {
2023-01-10 16:29:32 +00:00
$status = " <span style='color: red;'>Н е совпадают новые пароли.</span><br> " ;
2023-01-06 14:57:25 +00:00
} else {
$u -> info [ 'pass' ] = $password -> changeFirst ( $_POST [ 'oldpass' ], $_POST [ 'npass' ]);
2023-01-10 16:29:32 +00:00
$status = " <span style='color: darkolivegreen;'>Пароль удачно сменен.</span><br> " ;
2023-01-06 14:57:25 +00:00
}
}
2023-01-10 16:29:32 +00:00
if ( $_POST [ 'oldpsw' ] && $_POST [ 'oldemail' ] && $_POST [ 'newemail' ]) { /*-----Смена e-mail------*/
2023-01-06 14:57:25 +00:00
if ( password_verify ( $_POST [ 'oldpsw' ], $u -> info [ 'pass' ])) {
2023-01-10 16:29:32 +00:00
$status = " <span style='color: red'>Неверный пароль.</span><br> " ;
2023-01-06 14:57:25 +00:00
} elseif ( $u -> info [ 'mail' ] !== $_POST [ 'oldemail' ]) {
2023-01-10 16:29:32 +00:00
$status = " <span style='color: red'>Неверный старый E-Mail.</span><br> " ;
2023-01-06 14:57:25 +00:00
} else {
$u -> info [ 'mail' ] = $email -> change ( $_POST [ 'oldemail' ], $_POST [ 'newemail' ]);
2023-01-10 16:29:32 +00:00
$status = " <span style='color: darkolivegreen;'>Email удачно сменен.</span><br> " ;
2023-01-06 14:57:25 +00:00
}
}
2022-06-06 21:30:34 +00:00
}
?>
2023-01-06 14:57:25 +00:00
< form action = " main.php?security " method = " post " id = " security " ></ form >
< div >
2023-01-10 16:29:32 +00:00
< h3 > Настройки безопасности </ h3 >
2023-01-06 14:57:25 +00:00
< div style = " text-align: right " >
2023-01-10 16:29:32 +00:00
< input type = " button " value = " Вернуться " onClick = " location.href='main.php'; " >
2023-01-06 14:57:25 +00:00
</ div >
< div >< ? = $status ?> </div>
< div >
2023-01-10 16:29:32 +00:00
Чем выше уровень вашего персонажа , тем больше к нему внимания с о стороны злоумышленников .
Чтобы ваш персонаж небыл подвержен взлому , необходимо соблюдать элементарные меры предосторожности .
< br > А именно :
2023-01-06 14:57:25 +00:00
< ol >
< li >
2023-01-10 16:29:32 +00:00
Никогда , ни под каким предлогом , никому не говорите свой пароль .
Ни паладинам , ни администрации не нужно знать ваш пароль .
2023-01-06 14:57:25 +00:00
</ li >
< li >
2023-01-10 16:29:32 +00:00
Вводите логин и пароль только на титульной странице
2023-01-06 14:57:25 +00:00
< a href = " <?= Config::get('https') ?> " target = " _blank " >< ? = Config :: get ( 'https' ) ?> </a>
2023-01-10 16:29:32 +00:00
Ни на каких других сайтах , которые будут как две капли похожие на наш ,
и куда вас зазывают обещая на халяву предметы или еврокредиты , не вводите свой пароль !
Иначе Ваш персонаж с вероятностью 95 % будет взломан .
2023-01-06 14:57:25 +00:00
</ li >
</ ol >
2023-01-10 16:29:32 +00:00
Настоятельно рекомендуем прочесть заметку
< a href = " <?= Config::get('https') ?>forum/?r=48&rnd=1 " target = _blank > Как обезопасить своего персонажа ? </ a >.
2023-01-06 14:57:25 +00:00
< br >< br >
2023-01-10 16:29:32 +00:00
Если вы играете из интернет кафе или компьютерного клуба , где шанс быть взломанным очень высокий ,
рекомендуем включить второй уровень защиты ( см . ниже )
2023-01-06 14:57:25 +00:00
< br >< br >
< fieldset >
2023-01-10 16:29:32 +00:00
< legend >< b > Смена пароля </ b ></ legend >
2023-01-06 14:57:25 +00:00
< table >
< tr >
< td style = " text-align: right " >
2023-01-10 16:29:32 +00:00
Старый пароль :
2023-01-06 14:57:25 +00:00
</ td >
< td >
< label >
< input form = " security " type = password name = " oldpass " >
</ label >
</ td >
</ tr >
< tr >
< td style = " text-align: right " >
2023-01-10 16:29:32 +00:00
Новый пароль :
2023-01-06 14:57:25 +00:00
</ td >
< td >
< label >
< input form = " security " type = password name = " npass " >
</ label >
</ td >
</ tr >
< tr >
< td style = " text-align: right " >
2023-01-10 16:29:32 +00:00
Новый пароль ( еще раз ) :
2023-01-06 14:57:25 +00:00
</ td >
< td >
< label >
< input form = " security " type = password name = " npass2 " >
</ label >
</ td >
</ tr >
< tr >
< td colspan = " 2 " style = " text-align: right " >
2023-01-10 16:29:32 +00:00
< input form = " security " type = submit value = " Сменить пароль " name = " changepsw " >
2023-01-06 14:57:25 +00:00
</ td >
< td ></ td >
</ tr >
</ table >
</ fieldset >
< FIELDSET >
2023-01-10 16:29:32 +00:00
< LEGEND >< B > Смена email </ B ></ LEGEND >
2023-01-06 14:57:25 +00:00
< TABLE >
< TR >
< TD style = " text-align: right " >
2023-01-10 16:29:32 +00:00
Ваш игровой пароль :
2023-01-06 14:57:25 +00:00
</ TD >
< TD >
< label >
< INPUT form = " security " TYPE = password NAME = oldpsw size = 15 maxlength = 31 >
</ label >
</ TD >
</ TR >
< TR >
< TD style = " text-align: right " >
2023-01-10 16:29:32 +00:00
Прежний email :
2023-01-06 14:57:25 +00:00
</ TD >
< TD >
< label >
< INPUT form = " security " TYPE = text NAME = oldemail size = 20 maxlength = 50 >
</ label >
</ TD >
</ TR >
< TR >
< TD style = " text-align: right " >
2023-01-10 16:29:32 +00:00
Новый email :
2023-01-06 14:57:25 +00:00
</ TD >
< TD >
< label >
< INPUT form = " security " TYPE = text NAME = newemail size = 20 maxlength = 50 >
</ label >
</ TD >
</ TR >
< TR >
< TD style = " text-align: center " colspan = 2 >
2023-01-10 16:29:32 +00:00
< INPUT form = " security " TYPE = submit value = " Сменить email " name = changeemail >
2023-01-06 14:57:25 +00:00
</ TD >
</ TR >
</ TABLE >
</ FIELDSET >
< FIELDSET >
2023-01-10 16:29:32 +00:00
< LEGEND >< B > Второй уровень защиты </ B ></ LEGEND >
Настоятельно рекомендуем включить второй уровень защиты .< BR >
Н а компьютере может быть установлен клавиатурный шпион , который записывает все нажатия клавиш , таким
образом ,
могут узнать ваш пароль .< BR >
Возможно , в сети компьютеров установлен " сетевой снифер " , перехватывающий все интернет пакеты , который легко
покажет все пароли . Чтобы обезопасить себя , вы можете установить своему персонажу второй пароль , который
можно
вводить при помощи мышки ( клавиатурным шпионом не перехватить ) и который передается на игровой сервер в
зашифрованном виде , не поддающимся расшифровке ( " сетевой снифер " не сможет перехватить е г о ) .< BR >
< U > Будьте внимательны !</ U > Второй пароль отправляется на email один раз , при установке второго уровня защиты !< BR >
2023-01-06 14:57:25 +00:00
< ? php
if ( ! empty ( $u -> info [ 'pass2' ])) {
2023-01-10 16:29:32 +00:00
echo " <BR><B>Второй пароль установлен.</B><BR><BR>
Введите второй пароль < INPUT TYPE = password NAME = oldpsw2 size = 10 maxlength = 8 >
< INPUT form = 'security' TYPE = submit name = changepsw value = \ " Выключить второй пароль \" onclick= \" return confirm('Выключить запрос второго пароля при входе в Бойцовский Клуб?') \" > " ;
2023-01-06 14:57:25 +00:00
} else {
?>
2023-01-10 16:29:32 +00:00
Длина пароля :< BR >
2023-01-06 14:57:25 +00:00
< label >
2023-01-10 16:29:32 +00:00
< INPUT form = " security " TYPE = radio NAME = " num_count " value = 4 > 4 знака < BR >
2023-01-06 14:57:25 +00:00
</ label >
< label >
2023-01-10 16:29:32 +00:00
< INPUT form = " security " TYPE = radio NAME = " num_count " checked value = 6 > 6 знаков < BR >
2023-01-06 14:57:25 +00:00
</ label >
< label >
2023-01-10 16:29:32 +00:00
< INPUT form = " security " TYPE = radio NAME = " num_count " value = 8 > 8 знаков < BR >
2023-01-06 14:57:25 +00:00
</ label >
2023-01-10 16:29:32 +00:00
< INPUT form = " security " TYPE = submit name = changepsw value = " Установить второй пароль "
onclick = " return confirm('Система сама придумает вам второй пароль, он будет показан на этой странице, после того, как вы нажмете OK и продублирован на email, указанный при регистрации. Будьте внимательны. \n Установить второй пароль?') " >
2023-01-06 14:57:25 +00:00
< BR >
< ? php
}
?>
</ FIELDSET >
</ div >
</ div >
< script >
let elem = document . getElementById ( 'se-pre-con' );
elem . parentNode . removeChild ( elem );
</ script >