- <?php
- $auth = '';
- if(empty($_POST['au']))
- {
- $title = "Авторизация";
- if($version == "wml")
- {
- header("Content-type: text/vnd.wap.wml; charset=utf-8");
- header("Cache-Control: no-cache");
- echo(doctype("Авторизация").'
- Имя: <br />
- <input type="text" name="name" /><br />
- Пароль: <br />
- <input type="password" name="password" /><br />');
- if($fcode){
- $pik = array('1','2','3','4','5','6','7','8','9','0');
- $code = $pik[rand(0, 10)].$pik[rand(0, 10)].$pik[rand(0, 10)].$pik[rand(0, 10)].$pik[rand(0, 10)];
- $code = htmlspecialchars($code);
- fwrite(fopen('./codes/'.$ref.'.txt', 'w'), $code);
- echo('Введите код <b>'.$code.'</b>:<br /><input type="text" name="code" value="" maxlenght="5" size="5" /><br />');
- }
- echo('<anchor>[Авторизоваться]
- <go href="./?p=19&v=wml&rnd='.$ref.'" method="post">
- <postfield name="name" value="$(name)" />
- <postfield name="password" value="$(password)" />
- <postfield name="code" value="$(code)" />
- <postfield name="au" value="true" />
- </go></anchor><br />
- --- <br />
- <a href="./?p=0&v=wml">Форумы</a><br />
- </p></card></wml>');
- } else
- {
- header("Content-type: text/html; charset=utf-8");
- header("Last-Modified:".gmdate("D, d M Y H:i:s")." GMT");
- header("Cache-Control: no-cache, must-relative");
- echo('<html>
- <head>
- <title>'.$title.'</title>
- </head>
- <body bgcolor="'.$style['background'].'" link="'.$style['link'].'" vlink="'.$style['link'].'" text="#000000">
- <form action="./?p=19&v=xhtml&rnd='.$ref.'" method="post">
- <table align="center" border="0" cellspacing="1" cellpadding="5" width="350">
- <tr align="center" bgcolor="'.$style['title'].'"><td colspan="2">
- <font color="#FFFFFF"><b>'.$title.'</b>
- </font></td></tr>');
- echo('<tr bgcolor="'.$style['text'].'"><td>
- Имя:</td><td><input type="text" name="name" /></td></tr>
- <tr bgcolor="'.$style['text'].'"><td>
- Пароль:</td><td><input type="password" name="password" /></td></tr>');
- if($fcode){
- $pik = array('1','2','3','4','5','6','7','8','9','0');
- $code = $pik[rand(0, 10)].$pik[rand(0, 10)].$pik[rand(0, 10)].$pik[rand(0, 10)].$pik[rand(0, 10)];
- $code = htmlspecialchars($code);
- fwrite(fopen('./codes/'.$ref.'.txt', 'w'), $code);
- echo('<tr bgcolor="'.$style['text'].'"><td>Введите код <b>'.$code."</b>:</td><td><input type=\"text\" name=\"code\" value=\"\" maxlenght=\"5\" size=\"5\" /></td></tr>");
- }
- echo('<tr bgcolor="'.$style['text'].'"><td align="center" colspan="2">
- <input type="hidden" name="au" value="true" />
- <input type="hidden" name="v" value="xhtml" />
- <input type="submit" value="Авторизоваться" />
- </td></tr>
- <tr bgcolor="'.$style['bottom'].'"><td colspan="2">
- <a href="./?p=0&v=xhtml">Назад в форум</a><br />
- </td></tr></table>
- </form>
- </body></html>');
- }
- } else
- {
- include_once("users.php");
- if($fcode){
- $code = file_get_contents("./codes/".$_GET['rnd'].".txt");
- $_POST['code'] = htmlspecialchars($_POST['code']);
- }
- $_POST['name'] = translatenick(trim(chop(sql($_POST['name']))));
- $_POST['password'] = trim(chop(sql($_POST['password'])));
- if(empty($_POST['name']) or empty($_POST['password']))
- {
- $title = "Ошибка";
- if($version == "wml")
- {
- header("Content-type: text/vnd.wap.wml; charset=utf-8");
- header("Cache-Control: no-cache");
- echo(doctype($title).'
- Вы не заполнили все поля! <br />
- <a href="./?p=0&v=wml">Назад в форум</a><br />
- </p></card></wml>');
- } elseif($version == "xhtml")
- {
- echo('<html>
- <head>
- <title>'.$title.'</title>
- </head>
- <body bgcolor="'.$style['background'].'" link="'.$style['link'].'" vlink="'.$style['link'].'" text="#000000">
- <table align="center" border="0" cellspacing="1" cellpadding="5" width="350">
- <tr><td align="center" bgcolor="'.$style['title'].'">
- <font color="#FFFFFF"><b>'.$title.'</b></font>
- </td></tr>
- <tr bgcolor="'.$style['text'].'"><td>
- Вы не заполнили все поля!
- </td></tr>
- <tr><td bgcolor="'.$style['bottom'].'">
- <a href="./?p=0&v=xhtml">Назад в форум</a><br />
- </td></tr>
- </table></body></html>');
- }
- }
- elseif((empty($_POST['code']) or $_POST['code'] != $code) and $fcode)
- {
- unlink('./codes/'.$_GET['rnd'].'.txt');
- $title = "Ошибка";
- if($version == "wml")
- {
- header("Content-type: text/vnd.wap.wml; charset=utf-8");
- header("Cache-Control: no-cache");
- echo(doctype($title).'
- Неправильный код! <br />
- <a href="./?p=0&v=wml">Назад в форум</a><br />
- </p></card></wml>');
- } elseif($version == "xhtml")
- {
- echo('<html>
- <head>
- <title>'.$title.'</title>
- </head>
- <body bgcolor="'.$style['background'].'" link="'.$style['link'].'" vlink="'.$style['link'].'" text="#000000">
- <table align="center" border="0" cellspacing="1" cellpadding="5" width="350">
- <tr><td align="center" bgcolor="'.$style['title'].'">
- <font color="#FFFFFF"><b>'.$title.'</b></font>
- </td></tr>
- <tr bgcolor="'.$style['text'].'"><td>
- Неправильный код!
- </td></tr>
- <tr><td bgcolor="'.$style['bottom'].'">
- <a href="./?p=0&v=xhtml">Назад в форум</a><br />
- </td></tr>
- </table></body></html>');
- }
- }
- elseif(!preg_match("|^[<>@\[\] =#!?\*-\.\_0-9a-zA-Zа-яА-Я]+$|u", $_POST['name']) or strlen($_POST['name']) > 15)
- {
- $title = "Ошибка";
- if($version == "wml")
- {
- echo(doctype($title).'
- Ник может содержать только знаки русского и латинского алфавита, пробел, цифры, точку(.), тире(-), восклицательный знак(!), знак равенства(=), круглые и квадратные скобки([,],(,)), сабака(@) и знак додчеркивания(_)! <br />
- Также количество символов в нике не может превышать 15!
- <a href="./?p=0&v=wml">Назад в форум</a><br />
- </p></card></wml>');
- } elseif($version == "xhtml")
- {
- echo('<html>
- <head>
- <title>'.$title.'</title>
- </head>
- <body bgcolor="'.$style['background'].'" link="'.$style['link'].'" vlink="'.$style['link'].'" text="#000000">
- <table align="center" border="0" cellspacing="1" cellpadding="5" width="350">
- <tr><td align="center" bgcolor="'.$style['title'].'">
- <font color="#FFFFFF"><b>'.$title.'</b></font>
- </td></tr>
- <tr bgcolor="'.$style['text'].'"><td>
- Ник может содержать только знаки русского и латинского алфавита, пробел, цифры, точку(.), тире(-), восклицательный знак(!), знак равенства(=), круглые и квадратные скобки([,],(,)), сабака(@) и знак додчеркивания(_)! <br />
- Также количество символов в нике не может превышать 15!
- </td></tr>
- <tr><td bgcolor="'.$style['bottom'].'">
- <a href="./?p=0&v=xhtml">Назад в форум</a><br />
- </td></tr>
- </table></body></html>');
- }
- } elseif(!preg_match("|^[-\._0-9a-zA-Z]+$|", $_POST['password']) or strlen($_POST['password']) > 15)
- {
- $title = "Ошибка";
- if($version == "wml")
- {
- echo(doctype($title).'
- Пароль может содержать только знаки латинского алфавита, цифры, точку, тире и знак додчеркивания(_)! <br />
- Также количество символов в пароле не может превышать 15!
- <a href="./?p=0&v=wml">Назад в форум</a><br />
- </p></card></wml>');
- } elseif($version == "xhtml")
- {
- echo('<html>
- <head>
- <title>'.$title.'</title>
- </head>
- <body bgcolor="'.$style['background'].'" link="'.$style['link'].'" vlink="'.$style['link'].'" text="#000000">
- <table align="center" border="0" cellspacing="1" cellpadding="5" width="350">
- <tr><td align="center" bgcolor="'.$style['title'].'">
- <font color="#FFFFFF"><b>'.$title.'</b></font>
- </td></tr>
- <tr bgcolor="'.$style['text'].'"><td>
- Пароль может содержать только знаки латинского алфавита, цифры, точку, тире и знак додчеркивания(_)! <br />
- Также количество символов в пароле не может превышать 15!
- </td></tr>
- <tr><td bgcolor="'.$style['bottom'].'">
- <a href="./?p=0&v=xhtml">Назад в форум</a><br />
- </td></tr>
- </table></body></html>');
- }
- } else {
- $arr = array(
- 'a','b','c','d','e','f',
- 'g','h','i','j','k','l',
- 'm','n','o','p','q','r',
- 's','t','u','v','x','y',
- 'z','A','B','C','D','E',
- 'F','G','H','I','J','K',
- 'L','M','N','O','P','Q',
- 'R','S','T','U','V','X',
- 'Y','Z','1','2','3','4',
- '5','6','7','8','9','0');
- $sid = $arr[rand(0, 60)].$arr[rand(0, 60)].$arr[rand(0, 60)].$arr[rand(0, 60)].$arr[rand(0, 60)].$arr[rand(0, 60)].$arr[rand(0, 60)].$arr[rand(0, 60)].$arr[rand(0, 60)].$arr[rand(0, 60)];
-
- if(mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE username='".$_POST['name']."'"), 0))
- {
- // Ник зареган. Проверяем правильность пароля.
- if(mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE username='".$_POST['name']."' AND password='".$_POST['password']."'"), 0))
- {
- // Пароль верен. Проверяем есть ли сессия с такими данными.
- if(mysql_result(mysql_query("SELECT COUNT(*) FROM `session` WHERE nickname='".$_POST['name']."' AND password='".$_POST['password']."'"), 0))
- {
- mysql_query("UPDATE `session` SET sid='".$sid."', time='".time()."' WHERE nickname='".$_POST['name']."' AND password='".$_POST['password']."'");
- } else {
- // Если сессия не создана, то создаем ее
- mysql_query("INSERT INTO `session` VALUES('".$sid."', '".$_POST['name']."', '".$_POST['password']."', '".time()."')");
- }
- $auth .= 1;
- } else {
- $auth .= 0;
- }
- } else
- {
- // Ник не зареган.
- mysql_query("INSERT INTO `users` VALUES(0, '".$_POST['name']."', '".$_POST['password']."', '".time()."', 'user', ".time().", '', '', null, '', '', 'n', '', 'normal', 2000, 0, 'off', 0, 0, 0, '', '', 'user', 'a' , '', '', '', '')");
- mysql_query("INSERT INTO `session` VALUES('".$sid."', '".$_POST['name']."', '".$_POST['password']."', '".time()."')");
- $auth .= 1;
- /*$errormsg = "Ошибка! Авторизация новых ников временно приостановлена!<br />
- На данный момент идёт разработка нового сценария Форума.<br />
- Чтобы узнать все подробности, перейдите по ссылке: <a href=\"http://wmf.su/?p=4&t=869&v=xhtml\"><b>http://wmf.su/?p=4&t=869&v=xhtml</b></a><br />";*/
- }
-
- if($auth == 1)
- {
- if($fcode){
- unlink('./codes/'.$_GET['rnd'].'.txt');
- }
- $title = 'Авторизация успешна';
- if($version == "wml")
- {
- header("Content-type: text/vnd.wap.wml; charset=utf-8");
- header("Cache-Control: no-cache");
- echo(doctype($title).'
- Вы успешно авторизовались! <br />
-
- <a href="./?p=0&v=wml&sid='.$sid.'&rnd='.$ref.'">Вход в форум</a><br />
- <a href="./?p=33&v=wml&sid='.$sid.'&rnd='.$ref.'">Кабинет</a><br />
- <a href="./?p=28&logout=1&v=wml&sid='.$sid.'">Выход</a><br />
- </p></card></wml>');
- } elseif($version == "xhtml")
- {
- $_GET['sid'] = $sid;
- include("users.php");
- header("Content-type: text/html; charset=utf-8");
- header("Last-Modified:".gmdate("D, d M Y H:i:s")." GMT");
- header("Cache-Control: no-cache, must-relative");
- echo('
- <html>
- <head>
- <title>'.$title.'</title>
- </head>
- <body bgcolor="'.$style['background'].'" link="'.$style['link'].'" vlink="'.$style['link'].'" text="#000000">
- <table align="center" border="0" cellspacing="1" cellpadding="5" width="350">
- <tr><td align="center" bgcolor="'.$style['title'].'">
- <font color="#FFFFFF"><b>'.$title.'</b></font>
- </td></tr>
- <tr bgcolor="'.$style['text'].'"><td>
- Вы успешно авторизовались. Теперь Вы сможете более эффективно пользоваться форумом.
- </td></tr>
- <tr><td bgcolor="'.$style['bottom'].'">
- <a href="./?p=0&v=xhtml&sid='.$sid.'&rnd='.$ref.'">Вход в форум</a><br />
- <a href="./?p=33&v=xhtml&sid='.$sid.'&rnd='.$ref.'">Кабинет</a><br />
- <a href="./?p=28&logout=1&v=xhtml&sid='.$sid.'">Выход</a><br />
- </td></tr>
- </table></body></html>');
- }
- }
- /*elseif(!empty($errormsg))
- {
- $title = "Ошибка";
- if($version == "wml")
- {
- header('Content-type: text/vnd.wap.wml; charset=utf-8');
- header("Cache-Control: no-cache");
- echo(doctype($title).$errormsg.'<br />---<br />
- <a href="./?p=0&v=wml">Назад в форум</a><br />
- </p></card></wml>');
- } elseif($version == "xhtml")
- {
- header("Content-type: text/html; charset=utf-8");
- header("Last-Modified:".gmdate("D, d M Y H:i:s")." GMT");
- header("Cache-Control: no-cache, must-relative");
- echo('<html>
- <head>
- <title>'.$title.'</title>
- </head>
- <body bgcolor="'.$style['background'].'" link="'.$style['link'].'" vlink="'.$style['link'].'" text="#000000">
- <table align="center" border="0" cellspacing="1" cellpadding="5" width="350">
- <tr><td align="center" bgcolor="'.$style['title'].'">
- <font color="#FFFFFF"><b>'.$title.'</b></font>
- </td></tr>
- <tr bgcolor="'.$style['text'].'"><td>
- '.$errormsg.'
- </td></tr>
- <tr><td bgcolor="'.$style['bottom'].'">
- <a href="./?p=0&v=xhtml">Назад в форум</a><br />
- </td></tr>
- </table></body></html>');
- }
- }*/
- else
- {
-
- $title = "Ошибка";
- if($version == "wml")
- {
- header('Content-type: text/vnd.wap.wml; charset=utf-8');
- header("Cache-Control: no-cache");
- echo(doctype($title).'К сожалению, такой ник уже зарегистрирован. <br />
- Пароль не верен! <br />---<br />
- <a href="./?p=0&v=wml">Назад в форум</a><br />
- </p></card></wml>');
- } elseif($version == "xhtml")
- {
- header("Content-type: text/html; charset=utf-8");
- header("Last-Modified:".gmdate("D, d M Y H:i:s")." GMT");
- header("Cache-Control: no-cache, must-relative");
- echo('<html>
- <head>
- <title>'.$title.'</title>
- </head>
- <body bgcolor="'.$style['background'].'" link="'.$style['link'].'" vlink="'.$style['link'].'" text="#000000">
- <table align="center" border="0" cellspacing="1" cellpadding="5" width="350">
- <tr><td align="center" bgcolor="'.$style['title'].'">
- <font color="#FFFFFF"><b>'.$title.'</b></font>
- </td></tr>
- <tr bgcolor="'.$style['text'].'"><td>
- К сожалению, такой ник уже зарегистрирован. <br />
- Пароль не верен!
- </td></tr>
- <tr><td bgcolor="'.$style['bottom'].'">
- <a href="./?p=0&v=xhtml">Назад в форум</a><br />
- </td></tr>
- </table></body></html>');
- }
- }
- }
- }
- ?>
-