powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Как узнать логин, который ввел пользователь при стандартной аутентификации Apache
7 сообщений из 7, страница 1 из 1
(PHP) Как узнать логин, который ввел пользователь при стандартной аутентификации Apache
    #33235231
Dr. Yes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Защитил папку стандартными средствами Apache - .htaccess
Код: plaintext
1.
2.
3.
4.
5.
6.
AuthType Basic
AuthName Admin 
AuthUserFile /web/passfile
<Limit GET>
require valid-user
</Limit>
В passfile находится список с большим числом логинов.
Подскажите, пожалуйста, каким образом я могу узнать в PHP-скриптах, находящихся в этой папке, какой же именно логин был введен пользователем при аутентификации?

С уважением, Евгений.
...
Рейтинг: 0 / 0
(PHP) Как узнать логин, который ввел пользователь при стандартной аутентификации Apache
    #33235284
Sphinx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
$PHP_AUTH_USER
...
Рейтинг: 0 / 0
(PHP) Как узнать логин, который ввел пользователь при стандартной аутентификации Apache
    #33235304
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
...
Рейтинг: 0 / 0
(PHP) Как узнать логин, который ввел пользователь при стандартной аутентификации Apache
    #33235845
VERS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
* Sphinx$PHP_AUTH_USERНе болтайте ерундой.
PHP FAQ: Не передаются переменные! Проблема register_globals
HTTP-Аутентификация в PHP

Вы тоже не болтайте ерундой! Эти ссылки не имеют отношения к вопросу.
Посмотри в массиве СЕРВЕР такой кей:
$_SERVER['REMOTE_USER'];
...
Рейтинг: 0 / 0
(PHP) Как узнать логин, который ввел пользователь при стандартной аутентификации Apache
    #33235885
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
VERSВы тоже не болтайте ерундой! Эти ссылки не имеют отношения к вопросу.
Посмотри в массиве СЕРВЕР такой кей:
$_SERVER['REMOTE_USER'];А с чего вы взяли, что я отвечал на вопрос? Это замечание касалось ответа Sphinx .
...
Рейтинг: 0 / 0
(PHP) Как узнать логин, который ввел пользователь при стандартной аутентификации Apache
    #33237763
Dr. Yes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо за ссылки! Пусть кто-то и кричит, что они не по теме, но все-таки полезно было почитать!...

Уважаемый, VERS, не могли бы Вы пояснить мне в чем разница между $_SERVER['REMOTE_USER'] и $_ENV['REMOTE_USER']

Все эксперименты показывают, что они абсолютно идентичны...
...
Рейтинг: 0 / 0
(PHP) Как узнать логин, который ввел пользователь при стандартной аутентификации Apache
    #33237946
Фотография viv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Переменные окружения: $_ENV

Примечание: введены в версии 4.1.0. В предыдущих версиях используйте $HTTP_ENV_VARS.

Эти переменные импортируются в глобальное пространство имён PHP из окружения, в котором запущен разборщик (интерпретатор) PHP. Многие предоставляются оболочкой, под которой PHP работает, а разные системы запускают, очевидно, разные виды оболочек, поэтому создать какой-то определённый список невозможно. Просмотрите в документации вашей оболочки список определённых переменных окружения.

Другие переменные окружения - это CGI-переменные, помещаемые сюда независимо от того, запущен PHP как серверный модуль или как CGI-процессор.

Это 'суперглобальная' (или автоматическая глобальная) переменная. Это значит, что она доступна во всех областях видимости скрипта. Вам не нужно записывать global $_ENV; для доступа к ней в функциях или методах, как вы делаете с $HTTP_ENV_VARS.

$HTTP_ENV_VARS содержит ту же самую начальную информацию, но это не автоглобал. (Обратите внимание, что HTTP_ENV_VARS и $_ENV это разные переменные и что PHP обрабатывает их по-разному.)

Если директива register_globals установлена, то эти переменные также становятся доступны в глобальной области скрипта; то есть независимо от массивов $_ENV и $HTTP_ENV_VARS. Дополнительно см. главу о безопасности Использование Register_Globals. Эти отдельные глобалы не являются автоглобалами.


Серверные переменные: $_SERVER
Примечание: введены в версии 4.1.0. В предыдущих версиях используйте $HTTP_SERVER_VARS.

$_SERVER это массив, содержащий такую информацию, как headers/шапки, paths/пути и размещение скриптов. Вхождения в этом массиве создаются web-сервером. Нет гарантии, что каждый web-сервер будет предоставлять что-нибудь из этого; сервер может опустить позиции, указанные здесь, или добавить новые, здесь не указанные. Насчитывается большое количество этих переменных для спецификации CGI 1.1, поэтому вы должны это учитывать.

Это 'суперглобальная', или автоматическая, переменная. Это просто означает, что она доступна во всех областях видимости в скрипте. Вы не должны вводить global $_SERVER; для доступа к ней внутри функций или методов, как это делается с $HTTP_SERVER_VARS.

$HTTP_SERVER_VARS содержит ту же самую начальную информацию, но это не автоглобал. (Обратите внимание, что HTTP_SERVER_VARS и $_SERVER это разные переменные и что PHP обрабатывает их по-разному.)

Если директива register_globals установлена, то эти переменные также станут доступны в глобальной области видимости скрипта; т.е. независимо от массивов $_SERVER и $HTTP_SERVER_VARS. Дополнительно см. главу о безопасности Использование Register_Globals. Эти отдельные глобалы не являются автоглобалами.

Вы можете или можете не найти следующие переменные элементы в $_SERVER. Обратите внимание, что лишь некоторые (если вообще какие-нибудь) из этих элементов будут доступны (или будут иметь иное значение) при запуске PHP из командной строки.

'PHP_SELF'
Имя файла исполняемого в данный момент скрипта; относительно document root. Например, $_SERVER['PHP_SELF'] в скрипте с адресом http://example.com/test.php/foo.bar даст /test.php/foo.bar.

Если PHP запущен как процессор командной строки, эта переменная недоступна.

'argv'
Массив аргументов, передаваемых скрипту. Если скрипт работает из командной строки, это даёт доступ, в стиле С, к параметрам командной строки. Если вызывается через метод GET, будет содержать строку запроса.

'argc'
Содержит количество параметров командной строки, передаваемых скрипту (если запущен из командной строки).

'GATEWAY_INTERFACE'
Какой вариант спецификации CGI используется сервером; например, 'CGI/1.1'.

'SERVER_NAME'
Имя хоста сервера, на котором текущий скрипт выполняется. Если скрипт запущен на виртуальном хосте, это будет значение, определённое для данного виртуального хоста.

'SERVER_SOFTWARE'
Строка-идентификатор сервера, даваемая в шапках/headers при ответах на запросы.

'SERVER_PROTOCOL'
Имя и версия информационного протокола, по которому страница запрошена; например, 'HTTP/1.0';

'REQUEST_METHOD'
Какой метод запроса был использован для доступа к странице; например, 'GET', 'HEAD', 'POST', 'PUT'.

'QUERY_STRING'
Строка запроса, если имеется, по которому был выполнен доступ к странице.

'DOCUMENT_ROOT'
Корневая директория документов, под которой выполняется текущий скрипт, как определено в файле конфигурации сервера.

'HTTP_ACCEPT'
Содержимое шапки Accept: из текущего запроса, если имеется.

'HTTP_ACCEPT_CHARSET'
Содержимое шапки Accept-Charset: из текущего запроса, если имеется. Пример: 'iso-8859-1,*,utf-8'.

'HTTP_ACCEPT_ENCODING'
Содержимое шапки Accept-Encoding: из текущего запроса, если имеется. Пример: 'gzip'.

'HTTP_ACCEPT_LANGUAGE'
Содержимое шапки Accept-Language: из текущего запроса, если имеется. Пример: 'en'.

'HTTP_CONNECTION'
Содержимое шапки Connection: из текущего запроса, если имеется. Пример: 'Keep-Alive'.

'HTTP_HOST'
Содержимое шапки Host: из текущего запроса, если имеется.

'HTTP_REFERER'
Адрес страницы (если имеется), которая направила пользовательский агента (ПА) на текущую страницу. Устанавливается ПАгентом. Не все ПА будут его устанавливать, а некоторые могут модифицировать HTTP_REFERER. Короче говоря, доверять ему нельзя.

'HTTP_USER_AGENT'
Содержимое шапки User_Agent: из текущего запроса, если имеется. Это строка, обозначающая ПА, выполнивший доступ к странице. Типичный пример: Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586). Помимо прочего, вы можете использовать это значение с get_browser() для приспособления вывода вашей страницы к возможностям ПАгента.

'REMOTE_ADDR'
IP-адрес, с которого пользователь просматривает текущую страницу.

'REMOTE_PORT'
Порт на пользовательской машине для соединения с web-сервером.

'SCRIPT_FILENAME'
Абсолютный путь к файлу исполняемого в данный момент скрипта.

'SERVER_ADMIN'
Значение, данное в директиве SERVER_ADMIN (для Apache) в файле конфигурации web-сервера. Если скрипт запущен на виртуальном хосте, это будет значение, определённое для данного виртуального хоста.

'SERVER_PORT'
Порт на серверной машине, используемый web-сервером для соединения. По умолчанию это '80'; использование SSL, к примеру, изменит это значение на то, которое вы определили для секретного порта HTTP.

'SERVER_SIGNATURE'
Строка, содержащая версию сервера и имя виртуального хоста, добавленная к генерируемым сервером страницам, если эта возможность включена.

'PATH_TRANSLATED'
Путь файловой системы (не document root) к текущему скрипту, после того как сервер выполнил отображение virtual-to-real.

'SCRIPT_NAME'
Путь к текущему скрипту. Это используется в страницах, которым нужно указывать на самих себя.

'REQUEST_URI'
URI, который был задан для доступа к данной странице; например, '/index.html'.

'PHP_AUTH_USER'
При работе под Apache-модулем и выполнении HTTP-аутентификации, в эту переменную устанавливается username, предоставляемое пользователем.

'PHP_AUTH_PW'
При работе под Apache-модулем и выполнении HTTP-аутентификации, в эту переменную устанавливается password, предоставляемый пользователем.

'PHP_AUTH_TYPE'
При работе под Apache-модулем и выполнении HTTP-аутентификации, в эту переменную устанавливается тип аутентификации.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Как узнать логин, который ввел пользователь при стандартной аутентификации Apache
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]