Одним простым щелчком мыши этот простой скрипт выполнит мульти-выход из системы:
Мудл
Elgg
2 MyBB и
(не) Drupal.
<?php
setcookie( 'Elgg', '', -3600, '/', '.domain.com', false, false);
setcookie( 'http_auth_ext_complete', '1', -3600, '/d/', '.domain.com', false, false);
// setcookie( 'http_auth_ext_complete', '1', -3600, '/d/', 'domain.com', false, false);
setcookie( 'mybbuser', '', -3600, '/', '.domain.com', false, false);
setcookie( 'mybbuser', '', -3600, '/bb/', '.domain.com', false, false);
// unset all 3 Moodle cookies, the lazy way
if (isset($_SERVER['HTTP_COOKIE'])) {
$cookies = explode(';', $_SERVER['HTTP_COOKIE']);
foreach($cookies as $cookie) {
$parts = explode('=', $cookie);
$name = trim($parts[0]);
setcookie($name, '', time()-1000);
setcookie($name, '', time()-1000, '/');
}
}
?>
Это работает на четырех сайтах, но куки Drupal не будут закрываться. Как я могу сделать то же самое с Drupal?
Примечание: Drupal использует «host» вместо «domain», ни с, ни с «.» работает до сих пор.
Спасибо.
EDIT:
Я уверен, что файл cookie дважды имел «Host domain.com» и при другом входе в систему использовался более стандартный формат «Домен .domain.com»
Срок действия файла cookie с именем "http_auth_ext_complete" истекает , и я все еще вошел в систему. Drupal использует второй файл cookie с идентификатором сеанса в качестве имени файла cookie + в таблице базы данных сеанса есть соответствующая запись, также.