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



Закомментировать PHP код

#1 shtil

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

Отправлено 07 Июнь 2009 - 17:32

Ув. форумчани, закомментируйте мне пожалуйста пхп-код, т.е. я вам его даю и вы напишити возле каждой строчки, что означает этот кусок кода:

вот код:
<?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

#2 Евгений

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

Отправлено 07 Июнь 2009 - 20:14

зачем тебе это нужно?
  • 0

#3 shtil

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

Отправлено 07 Июнь 2009 - 21:28

ты издеваешься?


  • 0

#4 Евгений

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

Отправлено 07 Июнь 2009 - 22:02

shtil, нет

вводишь любую строчку в гугл и вылазит подробное объяснение каждой функции ;)
  • 0

#5 ZiTosS

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

Отправлено 08 Июнь 2009 - 18:06

<?php
include("elements/bd.php"); // включаем файл bd.php(предположительно подключение к БД)
// если отсутствует серверная переменная, которая отвечает за авторизацию про протоколу HTTP
if (!isset($_SERVER['PHP_AUTH_USER']))
{
		Header ("WWW-Authenticate: Basic realm=\"Admin Page\""); // передаём заголовки запроса авторизации
		Header ("HTTP/1.0 401 Unauthorized");  // передаём заголовки запроса авторизации
		exit(); // завершаем скрипт
} else { // иначе(т.е. переменные хранящие ник и пароль http-авторизации уже существуют)
		// если отключена функция магических кавычек
		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']);
		}

		// строка запроса "ВЫБРАТЬ записи ИЗ таблицы admin ГДЕ поле user совпадает с введённым именем"
		$query = "SELECT pass FROM admin WHERE user='".$_SERVER['PHP_AUTH_USER']."'";
		$lst = @mysql_query($query); // выполнить запрос и поместить ресурс в переменную $lst

		// если запрос не был выполнен
		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

#6 shtil

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

Отправлено 09 Июнь 2009 - 09:28

спасибо ^^


  • 0


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