Реклама на сайте Advertise with us

.htaccess: logout и логи

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

Ревнивый муж подобен турку

С нами с 01.03.06
Сообщения: 4302
Рейтинг: 905

Ссылка на сообщениеДобавлено: 16/04/06 в 00:40       Ответить с цитатойцитата 

Есть вопросы по пользователям в .htaccess.

Защищаю директорию вот таким файликом:
AuthName "For Registered Users Only"
AuthType Basic
AuthUserFile /путь/.htpasswd
require valid-user

Мне нужно, чтобы я мог видеть в php или javascript, кто именно залогинился, чтобы писать в лог его действия.

И есть ли какой-нибудь человеческий вариант logout? Сейчас я делаю logout так: <a href="http://fakeuser:fakepass@Krolikoff.com/Logout/">Logout</a>

Если тебе надо просто подрочить, жми сюда

0
 



С нами с 06.08.03
Сообщения: 243
Рейтинг: 228

Ссылка на сообщениеДобавлено: 16/04/06 в 02:27       Ответить с цитатойцитата 

Петр Кроликов писал:
Защищаю директорию вот таким файликом:
AuthName "For Registered Users Only"
AuthType Basic
AuthUserFile /путь/.htpasswd
require valid-user
Мне нужно, чтобы я мог видеть в php или javascript, кто именно залогинился, чтобы писать в лог его действия.

А ты используй для аутонтефикации не .htpasswd - а скрипт.

Скрипт все что нужно будет считать и в лог записывать,
и кто логинился, и когда, и сколько раз, и что делал...

3
 



С нами с 06.03.03
Сообщения: 1650
Рейтинг: 1096

Ссылка на сообщениеДобавлено: 16/04/06 в 02:33       Ответить с цитатойцитата 

$_SERVER['PHP_AUTH_USER'] - имя пользователя, авторизованного апачем.

logout можно сделать послав браузеру в заголовке 401 ошибку: header('HTTP/1.0 401 Unauthorized');

5
 



С нами с 25.01.06
Сообщения: 20
Рейтинг: 14

Ссылка на сообщениеДобавлено: 16/04/06 в 02:38       Ответить с цитатойцитата 

В PHP - переменная $_SERVER['PHP_AUTH_USER']

А log out делаешь либо посылая 401 ошибку в хедере либо так как ты сейчас. Нормальных методов нет - т.к. при этой авторизации логаут это по сути - заставить броузер пользователя забыть логин и пароль хранящийся в кеше.

А вообще Magus прав - если есть возможность используй лучше скриптовую авторизацию, а не апачевскую

5
 



С нами с 05.04.06
Сообщения: 36
Рейтинг: 20

Ссылка на сообщениеДобавлено: 16/04/06 в 09:05       Ответить с цитатойцитата 

PHP_AUTH_USER и PHP_AUTH_PW - решение однобокое, потому что эти переменные присутствуют только если PHP установлен как модуль apache.
Можно в .htaccess'е после аутентификации выяснять какой юзер сейчас залогинен через %{REMOTE_USER} и через mod_rewrite посылать всех на отдельный скрипт, который будет логировать и редиректить уже куда нужно.

http://artsoft.biz - web development service

5
 

Ревнивый муж подобен турку

С нами с 01.03.06
Сообщения: 4302
Рейтинг: 905

Ссылка на сообщениеДобавлено: 16/04/06 в 09:46       Ответить с цитатойцитата 

Спасибо за рецепты. Есть вопросы.

1. Гугль сообщает, что через htaccess авторизация надежнее. Поэтому, собственно, и выбрал этот метод. Это действительно так, или это дремучие лесные предрассудки?

2. Как мне вынуть информацию из %{REMOTE_USER} в javascript или php? Мне не удалось понять как реализовать схему. У меня, правда, PHP именно как часть Апач установлен, но хочется делать сразу правильное решение.

3. Есть ли готовые простые скрипты, посмотреть механизм?

Если тебе надо просто подрочить, жми сюда

0
 



С нами с 05.04.06
Сообщения: 36
Рейтинг: 20

Ссылка на сообщениеДобавлено: 16/04/06 в 10:25       Ответить с цитатойцитата 

Цитата:
1. Гугль сообщает, что через htaccess авторизация надежнее. Поэтому, собственно, и выбрал этот метод. Это действительно так, или это дремучие лесные предрассудки?

Я думаю, правильно реализованная авторизация через PHP не менее надежна, чем через .htaccess.

Цитата:
2. Как мне вынуть информацию из %{REMOTE_USER} в javascript или php? Мне не удалось понять как реализовать схему. У меня, правда, PHP именно как часть Апач установлен, но хочется делать сразу правильное решение.


в .htaccess после вашего блока с аутентификацией примерно след-ее:
RewriteEngine On
RewriteRule /* http://smth.com/log.php?login=%{REMOTE_USER} [L]

Кроме того, в других переменных GET-запроса можно передавать {REQUEST_URI} и %{QUERY_STRING}, чтобы log.php средиректил обратно. Тогда этот скрипт будет универсальным, то бишь в log.php не будет захардкодено куда редиректить после логирования.[/quote]

http://artsoft.biz - web development service

3
 

эксклюзивщик

С нами с 08.03.05
Сообщения: 1013
Рейтинг: 512

Ссылка на сообщениеДобавлено: 16/04/06 в 12:11       Ответить с цитатойцитата 

а не проще ли сделать следующим образом:
юзер заходит в закрытую папку, вводит логин, пасс, потом отсылать его на php скрипт, который читает PHP_AUTH_USER (записывает в лог), а потом редиректить его на нужную пагу

ну а на счет logout уже сказали

уникальные предложения по съемке контента гомосексуального харрактера

2
 

Ревнивый муж подобен турку

С нами с 01.03.06
Сообщения: 4302
Рейтинг: 905

Ссылка на сообщениеДобавлено: 16/04/06 в 17:13       Ответить с цитатойцитата 

Потратил сегодня несколько часов, чтобы разобраться с этим. Что получается.

1. Примеры скриптовой проверки логона требуют или MySQL (которую ставить без особых причин не хочу) или слигком притивны (не позволяют логаут и т.д.).

2. Logout через .htaccess не работает. Точнее работает, но только в FireFox, а в IE выдает ошибку: не может открыть страницу http://fakeuser:fakepass@krolikoff.com/Logout. Я так понял, это фатально. То есть, в последних версиях ИЕ и не будет работать без правки реестра.

3. 2=ZeD=. А не сможет ли тогда пользователь сам набрать нужную пагу, не вводя пароль? Я не понимаю, как это будет работать.

Другими словами, может есть у кого ссылка на работающий скрипт PHP авторизации без MySQL? Чем проще тем лучше.

Искал на hotscripts.com, ничего подходящего не нашел.

Если тебе надо просто подрочить, жми сюда

0
 



С нами с 05.04.06
Сообщения: 36
Рейтинг: 20

Ссылка на сообщениеДобавлено: 16/04/06 в 22:00       Ответить с цитатойцитата 

Петр Кроликов писал:

1. Примеры скриптовой проверки логона требуют или MySQL (которую ставить без особых причин не хочу) или слигком притивны (не позволяют логаут и т.д.).

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

Петр Кроликов писал:

3. 2=ZeD=. А не сможет ли тогда пользователь сам набрать нужную пагу, не вводя пароль? Я не понимаю, как это будет работать.

Нужно чтобы на конечную страницу, куда редиректится пользователь распространялось действие первоначальной http-аутентификации, например, чтобы она была в том же каталоге, или глубже.

http://artsoft.biz - web development service

3
 

Ревнивый муж подобен турку

С нами с 01.03.06
Сообщения: 4302
Рейтинг: 905

Ссылка на сообщениеДобавлено: 16/04/06 в 22:45       Ответить с цитатойцитата 

Вроде теперь удалось разобраться. Напишу сейчас сам на PHP соответствующий скрипт. C сессиями и всеми делами.

artsoft писал:
Нужно чтобы на конечную страницу, куда редиректится пользователь распространялось действие первоначальной http-аутентификации, например, чтобы она была в том же каталоге, или глубже.


А я думал можно в htaccess как-то задать, что переход разрешено делать только по внутренним ссылкам.

Например, есть папка "site.com/secret", в ней файл "login.php". И там же файл "script.php". И запустить скрипт "script.php" можно только из "login.php", а просто набрать в браузере .htaccess не даст.

Если тебе надо просто подрочить, жми сюда

0
 

эксклюзивщик

С нами с 08.03.05
Сообщения: 1013
Рейтинг: 512

Ссылка на сообщениеДобавлено: 17/04/06 в 00:40       Ответить с цитатойцитата 

вот и я говорил про папку: скрипт "логер" будет в той же папке, что и индекс пага

Да еще проще - если надо просто лог - делай инклуд малюсенького пхп-скрипта, который пишет лог. Это тебе любой программер напишет даже забесплатно, ибо дело в 5-ти строчках

уникальные предложения по съемке контента гомосексуального харрактера

3
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »