Файл: auth/index.php
Строк: 177
<?php
include_once("../config.php");
include_once("../connect.php");
include_once("../functions.php");
include_once("../users.php");
///////////////url_decode();
$auth = '';
$params = array();
list($params['nick'], $params['pass']) = explode(":", $_SERVER['QUERY_STRING']);
$params['nick'] = urldecode(trim($params['nick']));
$params['nick'] = iconv("windows-1251", "UTF-8", $params['nick']);
$params['nick'] = translatenick($params['nick']);
if(empty($params['nick']))
{
$title = "Ошибка";
if($version == "wml")
{
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", $params['nick']) or strlen($params['nick']) > 15)
{
$title = "Ошибка";
if($version == "wml")
{
echo(doctype($title).'
Ник может содержать только знаки русского и латинского алфавита, пробел, цифры, точку(.), тире(-), восклицательный знак(!), знак равенства(=), круглые и квадратные скобки([,],(,)), сабака(@) и знак додчеркивания(_)! <br />
Также количество символов в нике не может превышать 15!
<a href="../p=0&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&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&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&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&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&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");
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>');
}
} 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&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&v=xhtml">Назад в форум</a><br />
</td></tr>
</table></body></html>');
}
}
}
?>