View file auth/index.php

File size: 11.12Kb
<?php
include_once("../config.php");
include_once("../connect.php");
include_once("../functions.php");
include_once("../users.php");
$auth = '';
$params = array();
	list($params['nick'], $params['pass']) = explode(":", $_SERVER['QUERY_STRING']);
	$params['nick'] = translatenick($params['nick']);
		   			if(empty($params['nick']))
		   			{
		   				$title = "Ошибка";
							if($version == "wml")
							{
								echo(doctype($title).'
Заполните все поля! <br />
<a href="../?p=0&amp;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&amp;v=xhtml">Назад в форум</a><br />
</td></tr>
</table></body></html>');
							}
					} elseif(!preg_match("|^[!=@\[\]\(\) -\.\_0-9a-zA-Zа-яА-Я]+$|u", $params['nick']) or strlen($params['nick']) > 15)
					{
						$title = "Ошибка";
							if($version == "wml")
							{
								echo(doctype($title).'
Ник может содержать только знаки русского и латинского алфавита, пробел, цифры, точку(.), тире(-), восклицательный знак(!), знак равенства(=), круглые и квадратные скобки([,],(,)), сабака(@) и знак додчеркивания(_)! <br />
Также количество символов в нике не может превышать 15!
<a href="../p=0&amp;index.php?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&amp;v=xhtml">Назад в форум</a><br />
</td></tr>
</table></body></html>');
							}
							} elseif(!preg_match("|^[-\._0-9a-zA-Z]+$|", $params['pass']) or strlen($params['pass']) > 15)
							{
							$title = "Ошибка";
								if($version == "wml")
								{
									echo(doctype($title).'
Пароль может содержать только знаки латинского алфавита, цифры, точку, тире и знак додчеркивания(_)! <br />
Также количество символов в пароле не может превышать 15!
<a href="../?p=0&amp;v=xhtml">Назад в форум</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&amp;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','r','s',
							't','u','v','x','y','z',
							'A','B','C','D','E','F',
							'G','H','I','J','K','L',
							'M','N','O','P','R','S',
							'T','U','V','X','Y','Z',
							'1','2','3','4','5','6',
							'7','8','9','0');
							$sid = $arr[rand(0, 57)].$arr[rand(0, 57)].$arr[rand(0, 57)].$arr[rand(0, 57)].$arr[rand(0, 57)].$arr[rand(0, 57)].$arr[rand(0, 57)].$arr[rand(0, 57)].$arr[rand(0, 57)].$arr[rand(0, 57)];

								if(mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE username='".$params['nick']."'"), 0))
								{
									//   Ник зареган. Проверяем правильность пароля.
								    if(mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE username='".$params['nick']."' AND password='".$params['pass']."'"), 0))
								    {
	 								// Пароль верен. Проверяем есть ли сессия с такими данными.
										if(mysql_result(mysql_query("SELECT COUNT(*) FROM `session` WHERE nickname='".$params['nick']."' AND password='".$params['pass']."'"), 0))
										{
											mysql_query("UPDATE `session` SET sid='".$sid."', time='".time()."' WHERE nickname='".$params['nick']."' AND password='".$params['pass']."'");
										} else {
											// Если сессия не создана, то создаем ее
										mysql_query("INSERT INTO `session` VALUES('".$sid."', '".$params['nick']."', '".$params['pass']."', '".time()."')");
										}
         								$auth .= 1;
									} else {
									$auth .= 0;
									}
								} else
								{
									// Ник не зареган.
										//mysql_query("INSERT INTO `users` VALUES(0, '".$params['nick']."', '".$params['pass']."', '".time()."', 'user', ".time().", '', '', null, '', '', 'n', '', 'normal', ".$pSize.", '".$defaultst."', 'off', 0, 0, 0, '', '', '')");
										//mysql_query("INSERT INTO `session` VALUES('".$sid."', '".$params['nick']."', '".$params['pass']."', '".time()."')");
									//$auth .= 1;
									if($version == "wml")
					{
						header("Content-type: text/vnd.wap.wml; charset=utf-8");
						echo(doctype($title).'

Ошибка автологина! <br />
--- <br />
Пожалуйста, пройдите авторизацию вручную, чтобы зарезервировать<br />за собой ник и входить на форум через автологин.<br />
<a href="../?p=0&amp;v=xhtml">Назад в форум</a><br /></p></card></wml>');
					} elseif($version == "xhtml")
					{
						include("../users.php");
						header("Content-type: text/html; charset=utf-8");
						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'].'">
Пожалуйста, пройдите авторизацию вручную, чтобы зарезервировать<br />за собой ник и входить на форум через автологин.<br />
<a href="../?p=0&amp;v=xhtml">Назад в форум</a><br />
</td></tr>
</table></body></html>');
exit();
			}
								}

			if($auth == 1)
			{
					$title = 'Авторизация успешна';
					if($version == "wml")
					{
						header("Content-type: text/vnd.wap.wml; charset=utf-8");
						echo(doctype($title).'
Вы успешно авторизовались! <br />
--- <br />
<a href="../?p=0&amp;v=wml&amp;sid='.$sid.'">Вход в форум</a><br />
<a href="../?p=21&amp;v=wml&amp;sid='.$sid.'">Сменить пароль</a><br />
<a href="../?p=22&amp;v=wml&amp;sid='.$sid.'">Изменить анкету</a><br />
<a href="../?p=28&amp;logout=1&amp;v=wml&amp;sid='.$sid.'">Выход</a><br />
</p></card></wml>');
					} elseif($version == "xhtml")
					{
						$_GET['sid'] = $sid;
						include("../users.php");
						header("Content-type: text/html; charset=utf-8");
						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&amp;v=xhtml&amp;sid='.$sid.'">Вход в форум</a><br />
<a href="../?p=21&amp;v=xhtml&amp;sid='.$sid.'">Сменить пароль</a><br />
<a href="../?p=22&amp;v=xhtml&amp;sid='.$sid.'">Изменить анкету</a><br />
<a href="../?p=28&amp;logout=1&amp;v=xhtml&amp;sid='.$sid.'">Выход</a><br />
</td></tr>
</table></body></html>');
			}
            	} else {
            	$title = "Ошибка";
			if($version == "wml")
			{
			header('Content-type: text/vnd.wap.wml; charset=utf-8');
			echo(doctype($title).'К сожалению, такой ник уже зарегистрирован.  <br />
			Пароль не верен! <br />---<br />
			<a href="../?p=0&amp;v=xhtml">Назад в форум</a><br />
			</p></card></wml>');
			} elseif($version == "xhtml")
			{
			header("Content-type: text/html; charset=utf-8");
			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&amp;v=xhtml">Назад в форум</a><br />
</td></tr>
</table></body></html>');
			}
				}
							}



?>