Я использую базовый механизм аутентификации для своего сайта в IIS. Чтобы выйти из системы, я использую что-то похожее на эту функцию JavaScript:
function logoutUser() {
setTimeout('location.reload(true)', 1000);
xmlhttp = GetXmlHttpObject();
if (xmlhttp==null) {
return;
}
//alert(xmlhttp);
var url = "index.php";
xmlhttp.open("GET", url, true, "dummy_user", "dummy_password");
xmlhttp.setRequestHeader( "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT" );
xmlhttp.setRequestHeader( 'Accept', 'message/x-formresult' );
xmlhttp.send(null);
}
function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject)
{
// code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
Идея состоит в том, чтобы форсировать запрос с некоторыми неверными учетными данными, чтобы сделать недействительными реальные учетные данные, кэшированные браузером.
Он отлично работает в IE, Firefox, Safari, Google Chrome, но не в Opera.
Пожалуйста, помогите мне в этом.