powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / как разлогинится в Хром-подобных браузерах?
6 сообщений из 6, страница 1 из 1
как разлогинится в Хром-подобных браузерах?
    #39113819
minva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такой код. Работает в FireFox и IE. В Яндекс браузере при нажатии на ссылку "войти под другим именем" просто открывается страница под тем пользователем, под которым только что и входил. Помогает перезапуск браузера. Как это исправить?
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link href="default.css" rel=stylesheet type="text/css">
<title>Выход из программы</title>
<script language="javascript" type="text/javascript">

try{
var agt=navigator.userAgent.toLowerCase();
if (agt.indexOf("msie") != -1) {
// IE clear HTTP Authentication
document.execCommand("ClearAuthenticationCache");
}
else {
var xmlhttp = createXMLObject();
xmlhttp.open("GET",".force_logout_offer_login_mozilla",true,"logout","");
xmlhttp.send("");
xmlhttp.abort();
}
// window.location = "/rest/";
} catch(e) {
// There was an error
alert("there was an error");
}

function createXMLObject() {
try {
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
}
// code for IE
else if (window.ActiveXObject) {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
} catch (e) {
xmlhttp=false
}
return xmlhttp;
}
</script>
</head>
<body><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" valign="middle">
<p><font size="+1">Вы вышли из своего профиля</font></p>
<p><font size="+1"><a href="/">Войти с другим именем</a></font></p>
<p>&nbsp;</p>*</td>
</tr>
</table>
</body>
</html>
...
Рейтинг: 0 / 0
как разлогинится в Хром-подобных браузерах?
    #39113839
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Состояние авторизации вообще-то хранится не в браузере, а на сервере. Или в куках, у которых истекает срок действия, но потом все рано проверяется на сервере.
Браузер просто отправляет сохраненное состояние, и если сервер его подтверждает, то "разлогинивания" не происходит.
...
Рейтинг: 0 / 0
как разлогинится в Хром-подобных браузерах?
    #39114085
minva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,
сервер там специфический. Тем не менее от IE и Firefox то работает, а на хроме нет. Значит что-то все таки зависит от браузера как-то. И, кстати, если сервер разлогинивает, то почему разный код Для IE и FF???
...
Рейтинг: 0 / 0
как разлогинится в Хром-подобных браузерах?
    #39114130
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы вообще пытались понять этот код посредством головы?

document.execCommand("ClearAuthenticationCache"); - специфическая ie-команда, очищающая куки, которые ie считает связанными с авторизацией.

xmlhttp.open("GET",".force_logout_offer_login_mozilla",true,"logout",""); - специфическая серверная команда, рассчитанная конкретно на мозиллу, у которой нет команд, очищающих куки. почему так, а не иначе - вопросы к разработчику сервера.

могу лишь предложить ткнуться наугад: force_logout_offer_login_webkit

еще могу предложить посмотреть, что за куки отправляет браузер, и засрать их мусором, чтобы сервер создал новую сессию: http://stackoverflow.com/questions/14573223/set-cookie-and-get-cookie-with-javascript
...
Рейтинг: 0 / 0
как разлогинится в Хром-подобных браузерах?
    #39114281
minva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy, я не веб-программист и этой темы приходится касаться мимоходом.
Что там делает сервак я не знаю, просто когда нужно было допилить функцию разлогирования я нашел этот код на форуме в сети, по моему для апача он там приводился. Причем топик с кодом был достаточно старый, когда хром если и был уже, то еще мощи не набрал. Попробовал - получилось.
На всякий случай - пароль вводится в том диалоговом окошке, которое сам браузер выкидывает, а не на HTML страничке.
...
Рейтинг: 0 / 0
как разлогинится в Хром-подобных браузерах?
    #39114334
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
minvaНа всякий случай - пароль вводится в том диалоговом окошке, которое сам браузер выкидываетну, это полностью меняет дело, вопрос с куками отпадает.

авторHTTP does not provide a method for a web server to instruct the client to "log out" the user. However, there are a number of methods to clear cached credentials in certain web browsers. One of them is redirecting the user to a URL on the same domain containing credentials that are intentionally incorrect.

Unfortunately, this behavior is inconsistent between various browsers and browser versions.[2] Microsoft Internet Explorer offers a dedicated JavaScript method to clear cached credentials:[3]
тут народ обсуждает, что делать с хромом по этому поводу: http://stackoverflow.com/questions/5957822/how-to-clear-basic-authentication-details-in-chrome
варианты разные, у кого-то работает один, у кого-то другой.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / как разлогинится в Хром-подобных браузерах?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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