пак за login/logout

11 отговора 401 прегледа
#1

пак за login/logout

Направих си login с header/Authenticate/MySQL и т.н. обаче имам проблем с logout :)))

каквото и да правя от сорта на

unset($PHP_AUTH_USER);

нищо не се unset-ва ами веднага мога пак да си влеза с този юзърнейм.

Пробвах вариант при който излизам от една защитена страница и влизам в друга (която изисква друг username & pass) и после пак да влеза в първата - тогава става, но не ми се струва нормално.

Някакви идей?

Отговор
в отговор на burov #2

Re: пак за login/logout

Я прегледай това:

[линк]

__________________________________
Пътят към ада е осеян с добри намерения
Отговор
в отговор на ..:: StanProg ::.. #3

Re: пак за login/logout

:( mai ne vyr6i rabota:

"It does not unset any of the global variables associated with the session, or unset the session cookie."
Az imam sy6tiq problem i rekoh da probvam. Ama pak si vlizam kato pi4 bez patola :(
osven ako ne6to ne sm napravil kakto trqbva? Probvahte li go tova dali raboti za celta?

music non stop

Отговор
в отговор на burov #4

zasto ne polzva6 samo sessiite na php?

pravil sam go mnogo pati

java - the best language for server side programming
Отговор
в отговор на voyager #5

Re: пак за login/logout

Ти прочете ли най-отдолу на страницата чийто линк дадох? Там има един интересен коментар придружен с код. Разгледай го, пък може и да ти свърши някаква работа.

__________________________________
Пътят към ада е осеян с добри намерения
Отговор
в отговор на ..:: StanProg ::.. #6

Re: пак за login/logout

xax, 10x :) Az kato vidqh tozi text, re6ih 4e si se zabludil, ama se okaza, 4e zabludeniqt sm bil az :) 6te go probvam tova :)




I want to walk into the lights

Отговор
в отговор на burov #7

Re: пак за login/logout

[линк]

Тук има примери обърни внимание на следния пасаж

Both Netscape and Internet Explorer will clear the local browser window's authentication cache for the realm upon receiving a server response of 401. This can effectively "log out" a user, forcing them to re-enter their username and password. Some people use this to "time out" logins, or provide a "log-out" button.

с две думи трявба да изпратиш

header("HTTP/1.0 401 Unauthorized");

за да забрави броузера че си се логнал ;)

...
Отговор
в отговор на Цвeтaн Цвeтkoв #8

Re: пак за login/logout

Мноого елегантно Ще си го запиша.

__________________________________
Пътят към ада е осеян с добри намерения
Отговор
в отговор на ..:: StanProg ::.. #9

10x

Отново благодарности за Stan - онзи код на края на страницата наистина е полезен. Аз обаче си направих дург логин с html/mysql и сесии. Проблема в началото беше, че дори след като дам session_unregister("username"), пак можех да влеза. Решението се оказа елементарно - просто сетваш едно ново и празно coockie !!!

Решението което предлага Цветан не съм го изпробвал, но наистина е елегантно.

Отговор
в отговор на Цвeтaн Цвeтkoв #10

Re: пак за login/logout

Наистина е простичко и върши работа - пробвах го.

Отговор
в отговор на Цвeтaн Цвeтkoв #11

Re: пак за login/logout

Opredeleno ne vyrshi nikakva rabota :(
"Testing with Lynx has shown that Lynx does not clear the authentication credentials with a 401 server response, so pressing back and then forward again will open the resource (as long as the credential requirements haven't changed)."

Taka e i s typiq IE, prosto toj se keshira parolata i tova e polojenieto, ne mojesh go nakara da ia zabravi...

Отговор
в отговор на onzi #12

Re: пак за login/logout

Здравейте,
И аз имах подобен проблем в един от мойте сайтове. Проблемът бе решен със пускане на едно cookie което слага променливата $loginvalid със стойност "1".
Във всички важни скриптове има проверка дали $loginvalid = 1, ако е различно от 1, принуждават потребителя да си въведе данните отново.
А самия LOGOUT предифинирва всички по важни cookies например $loginvalid = ""
И със следващото си действие скриптовете довършват процедурата.

За сега вункционира отлично и върши работа.

Отговор