есть ли какое-либо решение, как я могу закрыть браузер полностью? Мне нужно это, потому что я использую Single Sign On с другой страницы, и на этой странице написано, что только закрытие браузера выйдет из системы.закрыть браузер полностью
ответ
Нет, вы не можете заставить браузер пользователя закрываться без их разрешения.
Редактировать: Несмотря на то, что для некоторых браузеров существуют обходные пути, это плохая практика и считается навязчивой.
ОК, я понимаю. Так что я могу заставить упомянутый выход из системы – 2009-11-25 08:08:06
Как уже упоминалось в других ответах, удаление любых потенциальных файлов cookie сеанса, вероятно, является лучшим способом. Помимо этого, вы можете предупредить пользователей о рисках и попросить их закрыть браузер, когда они выходят из системы. –
Вы не можете закрыть браузер пользователей, но если вы можете определить файл cookie, содержащий сеанс, вы можете его очистить. Как вы это сделаете, зависит от языка, который вы используете.
В JavaScript, вы бы быть работает на том же домене, что и печенье вы хотите, чтобы очистить
var expired = new Date();
expired.setTime(mydate.getTime() - 86400);
document.cookie = "my_session_cookie_name=; expires=" + expired.toGMTString();
На стороне сервера, вы можете выводить заголовки, чтобы установить или очистить куки. В зависимости от настроек браузера пользователей вы можете установить файлы cookie на сторонних доменах. Вот пример в PHP
setcookie ('my_session_cookie_name', '', time() - 86400);
//clear cookie for example.com
setcookie('my_session_cookie_name', '', time()-86400, '/', '.example.com');
спасибо, я попробую это решение – 2009-11-25 08:17:16
Вы не можете очистить файлы cookie в домене третьих лиц, как указано здесь. –
Если вы можете установить их, вы можете их очистить, нет никакой разницы. Это зависит от того, настроен ли браузер для их принятия. –
Нет, вы не можете.
что страница написано, что только закрыв браузер будет выход пользователя
Если вы можете запустить JavaScript в правом домен (Single Sign On домена сервера), я уверен, что вы можете войдите в систему, просто удалив файл cookie сеанса.
По крайней мере, не в Firefox, иначе это будет большая проблема юзабилити.
удалять файлы cookie при закрытии вкладки.
можно закрыть браузер, открытый через javascript, но так как пользователь открывает первый браузер, закрыть все браузеры не удастся.
Ваш SSO должен иметь какую-то функцию выхода из системы, было бы лучше. Эта функция очистит файлы cookie пользователя или очистит сеанс на стороне сервера.
, к сожалению, это SSO не предоставляет функцию выхода из системы. Это наиболее раздражает – 2009-11-25 08:12:02
@Peter: вы не можете реализовать его самостоятельно? – RageZ
SSO реализована другой компанией, и у меня нет доступа к ней. – 2009-11-25 08:24:19
Его очень просто,
просто добавить код JavaScript
<td width="10%"><div align="center"><a href="javascript:window.close() "><font color="#ffffff">Close</font></a></div></td>
Если каждый сайт SSO получают свое собственное печенье, возможно, потребуется зарегистрировать пользователь из каждого сайта SSO индивидуален. Надеемся, что у каждого сайта есть свой собственный URL-адрес «log me out», и вы можете открыть страницу с несколькими iframe
s на каждый сайт единого входа.
Вы можете установить их в разных доменах, но в зависимости от настроек безопасности в браузере, они могут быть заблокированы, пользователю может быть предложено подтвердить или они могут быть молча приняты. Вот как настроить Firefox на блок сторонних куки-файлов: support.mozilla.ru/en-US/kb/...
И как я могу установить их через домены?
Почему бы не попросить пользователя выйти из системы, что-то в строках пользователя: X вошел в систему (если у вас нет X нажмите здесь) – Alon