Перейти к содержимому


Партнерская программа Kredov

Вход на страницу с паролем

#1 shtil

shtil
  • Пользователь
  • 50 сообщений
  • Репутация: 0
0

Отправлено 04 Май 2009 - 09:36

вот я хочу зделать что-то закрытое ввиде админки, дайте пожалуйста код, что бы скрипт выдавал форму для логина и пароля, которые проверяються с БД (admin)

 

 

  • 0

#2 Banderas

Banderas
  • Пользователь
  • 1 168 сообщений
  • Репутация: 1

Отправлено 04 Май 2009 - 09:52

думаю єто тебе поможет http://www.masterweb...ol-na-stranicu/
  • 0


#3 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 04 Май 2009 - 10:23

shtil, таких скриптов уйма. Можно сделать на основе обычной формы с 2 полями и кнопкой отправки, можно использовать встроенную HTTP-форму аутентификации. Что и сделано в скрипте выше. Скрипт по ссылке, рабочий, но имеет неструктурированный вид. Всё можно привести к идеалу.
  • 0

#4 shtil

shtil
    Topic Starter
  • Пользователь
  • 50 сообщений
  • Репутация: 0

Отправлено 06 Май 2009 - 10:44

мне помог в решении этой проблемы этот скрипт:

<?php
include("elements/bd.php"); //здесь идет подключене к базе данных т.к. пароль и логин берутся от туда
if (!isset($_SERVER['PHP_AUTH_USER']))

{
		Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
		Header ("HTTP/1.0 401 Unauthorized");
		exit();
}

else {
		if (!get_magic_quotes_gpc()) {
				$_SERVER['PHP_AUTH_USER'] = mysql_escape_string($_SERVER['PHP_AUTH_USER']);
				$_SERVER['PHP_AUTH_PW'] = mysql_escape_string($_SERVER['PHP_AUTH_PW']);
		}

		$query = "SELECT pass FROM admin WHERE user='".$_SERVER['PHP_AUTH_USER']."'";
		$lst = @mysql_query($query);

		if (!$lst)
		{
			Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
		Header ("HTTP/1.0 401 Unauthorized");
		exit();
		}

		if (mysql_num_rows($lst) == 0)
		{
		   Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
		   Header ("HTTP/1.0 401 Unauthorized");
		   exit();
		}

		$pass =  @mysql_fetch_array($lst);
		if ($_SERVER['PHP_AUTH_PW']!= $pass['pass'])
		{
			Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
		   Header ("HTTP/1.0 401 Unauthorized");
		   exit();
		}


}




?>

  • 0

#5 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 06 Май 2009 - 20:45

shtil, опять этот тупой скрипт... я для кого-то уже его переписывал и приводил в нормальный вид... Даже ссылка в теме вроде на неё...
  • 0

#6 shtil

shtil
    Topic Starter
  • Пользователь
  • 50 сообщений
  • Репутация: 0

Отправлено 07 Май 2009 - 11:34

а почему тупой?


  • 0

#7 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 07 Май 2009 - 18:11

Потому что можно сразу проверить и логин и пароль в БД, а тут сначала находится строки с определённым логином, а затем только ОДНА обрабатывается и проеряется на совпадение пароль. Так что если у вас в БД будут 2 записи с одинаковым логином, но разными паролями, вы не суеете войти под данными второй записи.
  • 0


Оформление форума – IPBSkins.ru