aboutsummaryrefslogtreecommitdiff
path: root/logout.php
diff options
context:
space:
mode:
authorChristian Cleberg <hello@cleberg.net>2023-05-22 15:19:08 -0500
committerChristian Cleberg <hello@cleberg.net>2023-05-22 15:19:08 -0500
commit39e8fb2036945303836c461a61f133b0059c8991 (patch)
tree39b747cf3c9eb82af48117781a436a91f1314776 /logout.php
downloadvox-populi-39e8fb2036945303836c461a61f133b0059c8991.tar.gz
vox-populi-39e8fb2036945303836c461a61f133b0059c8991.tar.bz2
vox-populi-39e8fb2036945303836c461a61f133b0059c8991.zip
initial commit
Diffstat (limited to 'logout.php')
-rw-r--r--logout.php39
1 files changed, 39 insertions, 0 deletions
diff --git a/logout.php b/logout.php
new file mode 100644
index 0000000..cef3302
--- /dev/null
+++ b/logout.php
@@ -0,0 +1,39 @@
+<?php
+
+// Initialize the session.
+// If you are using session_name("something"), don't forget it now!
+session_start();
+
+// Delete authentication cookies
+unset($_COOKIE["perm_token"]);
+setcookie("perm_token", "", time() - 3600, "/vox-populi/dashboard");
+unset($_COOKIE["perm_secret"]);
+setcookie("perm_secret", "", time() - 3600, "/vox-populi/dashboard");
+unset($_COOKIE["PHPSESSID"]);
+setcookie("PHPSESSID", "", time() - 3600, "/vox-populi/dashboard");
+
+// Unset all of the session variables.
+$_SESSION = array();
+unset($_SESSION['perm_token']);
+unset($_SESSION['perm_secret']);
+session_unset();
+
+// If it's desired to kill the session, also delete the session cookie.
+// Note: This will destroy the session, and not just the session data!
+if (ini_get("session.use_cookies")) {
+ $params = session_get_cookie_params();
+ setcookie(session_name(), '', time() - 42000,
+ $params["path"], $params["domain"],
+ $params["secure"], $params["httponly"]
+ );
+}
+
+// Finally, destroy the session.
+session_destroy();
+session_write_close();
+
+// Go back to sign-in page
+header('Location: https://example.com/vox-populi/');
+die();
+
+?> \ No newline at end of file