Просмотр файла shcms/password.php

Размер файла: 5.56Kb
  1. <?
  2. /*
  3. =============================================
  4. Движок: SHCMS Engine
  5. =============================================
  6. Название файла: Изменение пороля
  7. =============================================
  8. Official website: http://shcms.ru
  9. =============================================
  10. Данный код зашищен авторскими правами
  11. =============================================
  12. */
  13. define('SHCMS', true);
  14. include_once'../system/inc/basic_settings.php';
  15. $shcmsengine['title'] = 'Изменение пороля';
  16. include_once'../template/head.php';
  17. registrat();
  18. echo '<div class="posts">';
  19.  
  20. $flodpass = mysql_fetch_array(mysql_query("SELECT * FROM pass_secure WHERE user_id='$user_id' ORDER BY id DESC"));
  21.  
  22. if($flodpass['user_id'] == $user_id){
  23. echo 'Последний раз пороль был изменен: <strong>'.$timedate->times($flodpass['time']).'</strong>';
  24. }
  25. else{
  26. echo 'Вы еще не использовали смену пороля';
  27. }
  28. echo '</div>';
  29. switch ($secure_pass)
  30. {
  31. case 'okpass' :
  32. $err_pass = array();
  33. $pass_st = isset ($_POST['pass_st']) ? trim($_POST['pass_st']) : '';
  34. $password_new = isset ($_POST['password_new']) ? trim($_POST['password_new']) : '';
  35. $password_new2 = isset ($_POST['password_new2']) ? trim($_POST['password_new2']) : '';
  36. if (!$password_new || !$password_new2){
  37. errors('Обязательно заполните все поля');
  38. header('Refresh: 1; url=password.php?');
  39. include_once'../template/foot.php';
  40. exit();
  41. }
  42. else {
  43. if (!$pass_st || !$password_new || !$password_new2){
  44. errors('Обязательно заполните все поля');
  45. header('Refresh: 1; url=password.php?');
  46. include_once'../template/foot.php';
  47. exit();
  48. }}
  49. if (!$err_pass && md5(md5($pass_st)) !== $user['password']){
  50. errors('Вы неправильно ввели старый пороль');
  51. header('Refresh: 1; url=password.php?');
  52. exit();
  53. }
  54. if ($password_new != $password_new2){
  55. errors('Новые пароли не совпадают');
  56. header('Refresh: 1; url=password.php?');
  57. exit();
  58. }
  59. if (preg_match("/[^\da-zA-Z_]+/", $password_new) && !$err_pass){
  60. errors('В новом пороле имеются недопустимые символы');
  61. header('Refresh: 1; url=password.php?');
  62. include_once'../template/foot.php';
  63. exit();
  64. }
  65. if (!$err_pass && (strlen($password_new) < 2 or strlen($password_new) > 50))
  66. {
  67. errors('Длина пароля должна быть не больше 50символов');
  68. header('Refresh: 1; url=password.php?' . $conservation . '&' );
  69. include_once'../template/foot.php';
  70. exit();
  71. }
  72. if (!$err_pass) {
  73. mysql_query("UPDATE `users` SET `password` = '".mysql_real_escape_string(md5(md5($password_new)))."' WHERE `id` = '$user[id]' LIMIT 1");
  74. mysql_query("INSERT INTO `pass_secure` (`time`,`user_id`) VALUES ('".time()."','$user_id')");
  75. if (isset ($_COOKIE['cuid']) && isset ($_COOKIE['cups']))
  76. setcookie('cups', md5($password_new), time() + 3600 * 24 * 365);
  77. echo '<div class="actshcms">Ваш старый пороль успешно изменен на новый ('.$password_new.')
  78. для безопастности он был выслан вам на e-mail '.$user['email'].' и на внутреннюю почту</div><br />';
  79. $adress = "$user[email]";
  80. $tex = 'Смена пороля';
  81. $contr = 'Вы успешно сменили пороль вашего логина('.$user['login'].') на сайте '.$_SERVER['HTTP_HOST'].'. Вот ваш новый пороль ('.$password_new.')';
  82. $conte = "From: <'secure@".$_SERVER['HTTP_HOST']."'>\r\n";
  83. $conte .= "Content-Type: text/plain; charset=\"utf-8\"\r\n";
  84. mail($adress,$tex,$contr,$conte);
  85. $text = 'Вы успешно сменили пороль вашего логина( '.$user['login'].' ) <br/>на сайте '.$_SERVER['HTTP_HOST'].'. <br/>
  86. Вот ваш новый пороль ('.$password_new.')<br /><hr/>Отправлено:'.$timedate->times(time());
  87. mysql_query("INSERT INTO `mail` SET`user` = '$user[login]',`text` = '$text',`author` = 'Системный робот',`time` = '".time()."',`type` = 'in',`chit` = 'no'");
  88. header('Refresh: 1; url=password.php?');
  89. }
  90. else {
  91. echo errors($err_pass);
  92. header('Refresh: 1; url=password.php?');
  93. }
  94. break;
  95. default :
  96. echo '<div class="posts"><form action="?secure_pass=okpass" method="post">';
  97. echo 'Текущий пароль:<br /><input type="password" name="pass_st" /><br/>';
  98. echo 'Новый пороль:<br /><input type="text" name="password_new" /><br />';
  99. echo 'Еще раз новый пороль:<br /><input type="text" name="password_new2" /><br/>';
  100. echo '<input type="submit" name="submit" value="Сменить пороль"/><br/>';
  101. echo '</form>
  102. <small>Из соображений безопасности советуем вам использовать особый пароль, который вы больше нигде не используете. Чтобы повысить уровень надежности. Например:<ul>
  103. <li>Qwerty, 123456 - короткий и очевидный пароль; </li>
  104. <li>Vjq1gfhjkm2 - сложный и достойный пароль.</li></ul>
  105. </small>
  106. </div>';
  107. }
  108. include_once'../template/foot.php';
  109. ?>