Как сделать Логаут после того как залогинился при авторизации через .htaccess?с сессиями то все просто, а тут пробывал также - нифига...
>Как сделать Логаут после того как залогинился при авторизации через .htaccess?
>
>с сессиями то все просто, а тут пробывал также - нифига...Самое главное палево basic auth :(
Браузер пользователя сам засылает login:pass при получении auth request.
Причём засылает всего лишь в base64 - что тоже не радует...
>Самое главное палево basic auth :(
>Браузер пользователя сам засылает login:pass при получении auth request.
>Причём засылает всего лишь в base64 - что тоже не радует...Всмысле, а как тогда быть.. Вопросто был как логаут сделать при такой авторизации
>>Самое главное палево basic auth :(
>>Браузер пользователя сам засылает login:pass при получении auth request.
>>Причём засылает всего лишь в base64 - что тоже не радует...
>
>Всмысле, а как тогда быть.. Вопросто был как логаут сделать при такой
>авторизации
никак
Имхо, браузер должен забывать имя и пароль, если ему в ответ на ранее известные имя и пароль (которые он подсовывает) был вновь выдан запрос на авторизацию.А если через POST-запрос отправить скрипту некий параметр, например logout=1, после которого он должен будет заведомо выдать новый запрос на ввод имени и пароля, то нужно будет либо снова авторизоваться, либо отказаться (что и будет выходом в данном случае).
>Имхо, браузер должен забывать имя и пароль, если ему в ответ на
>ранее известные имя и пароль (которые он подсовывает) был вновь выдан
>запрос на авторизацию.
>
>А если через POST-запрос отправить скрипту некий параметр, например logout=1, после которого
>он должен будет заведомо выдать новый запрос на ввод имени и
>пароля, то нужно будет либо снова авторизоваться, либо отказаться (что и
>будет выходом в данном случае).
Дак авторизация то происходит не методом PHP-auth а Apache-Auth. при помощи .htaccess. Или я тото не понял или ты чтото не понял :)Как вот именно мне эти данные $PHP_AUTH_USER убить???
Послать браузер в левую папку, где требуется другой пароль.создаешь папку где требуются логин и пароль login:passwd
посылаешь браузер на http://login:passwd@ххх/левая папка
он там должен автоматом проавторизоваться. (по крайней мере IE)
OPERA ругается, точнее вопрос задает - мол послали меня на линк с логином/паролем. Итить или не итить?С остальныни не пробовал.
>Послать браузер в левую папку, где требуется другой пароль.
>
>создаешь папку где требуются логин и пароль login:passwd
>
>посылаешь браузер на http://login:passwd@ххх/левая папка
>
>он там должен автоматом проавторизоваться. (по крайней мере IE)
>OPERA ругается, точнее вопрос задает - мол послали меня на линк с
>логином/паролем. Итить или не итить?
>
>С остальныни не пробовал.
А точно. Как вариант. Спасиба
>Дак авторизация то происходит не методом PHP-auth а Apache-Auth. при помощи .htaccess.
>Или я тото не понял или ты чтото не понял :)
>
>
>Как вот именно мне эти данные $PHP_AUTH_USER убить???
У меня создалось впечатление, что я понял ;-)
При помощи PHP можно притвориться Апачем и выдать заголовок HTTP со статусом 401 и заголовок WWW-Authenticate.header("WWW-authenticate: basic realm=\"Restricted Access\"");
header("Status: 401 Unauthorized");Моё имхо.
>Как сделать Логаут после того как залогинился при авторизации через .htaccess?В общем случае - никак. Те трюки, которые тебе посоветовали, будут работать через раз, по разному в разных браузерах, и совсем не так, как ожидает юзер. В общем, я бы не рекомендовал этим заниматься.
>>Как сделать Логаут после того как залогинился при авторизации через .htaccess?
>
>В общем случае - никак. Те трюки, которые тебе посоветовали, будут работать
>через раз, по разному в разных браузерах, и совсем не так,
>как ожидает юзер. В общем, я бы не рекомендовал этим заниматься.
>Ну думаю сделать это возможно если уничтожить вход "unset()", тем самым у вас в данный момент не .htaccess авторизация, а через ".htaccess".
То - есть собственно это тоже "PHP" код? Разумеется да
и он лежит в отдельной папке в отведенном файле и прописан там где нужен для авторизации.
Но тут загвостка при исключении вывода цикла do {printf("<a href=\"<?php - функция не будет поддерживаться,но присваивать у нас нечего?>\"></a>");} так что думаю будет лучше создать submit кнопку и указать ей параметр action="URL обработчика", где мы будем уничтожать переменные для входа и каким - то образом их придется сбросить или обновить для того чтобы вывелось окошко опять таки с входом.