summaryrefslogtreecommitdiff
path: root/controller/cookies.php
diff options
context:
space:
mode:
Diffstat (limited to 'controller/cookies.php')
-rw-r--r--controller/cookies.php66
1 files changed, 66 insertions, 0 deletions
diff --git a/controller/cookies.php b/controller/cookies.php
new file mode 100644
index 0000000..f5c7e64
--- /dev/null
+++ b/controller/cookies.php
@@ -0,0 +1,66 @@
1<?php
2// controller/cookies.php
3
4// nettoyage du cookie de session de l'ancienne version du site
5$cookie = 'PHPSESSID';
6if(isset($_COOKIE[$cookie]))
7{
8 deleteCookie($cookie);
9 header("Location: index.php");
10 exit();
11}
12
13// session_start()
14$cookie = 'session_admin';
15if(isset($_COOKIE[$cookie])) // détection du cookie
16{
17 if(session_status() === PHP_SESSION_NONE)
18 {
19 session_name($cookie);
20 /*session_set_cookie_params([
21 'lifetime' => 0,
22 'path' => '/',
23 'domain' => $_SERVER['HTTP_HOST'],
24 'secure' => true,
25 'httponly' => true,
26 'samesite' => 'strict']);
27 session_start();*/
28
29 /*session_start([
30 'cookie_lifetime' => 0,
31 'cookie_path' => '/',
32 'cookie_domain' => $_SERVER['HTTP_HOST'],
33 'cookie_secure' => true,
34 'cookie_httponly' => true,
35 'cookie_samesite' => 'strict']);*/
36 session_start();
37
38 // le cookie ne semble pas prendre les paramètres! pourquoi?
39 //var_dump(session_get_cookie_params());
40 }
41 else // cas anormal: session déjà démarrée, mode parano activé!
42 {
43 deleteCookie($cookie);
44 header("Location: index.php");
45 exit();
46 }
47}
48
49// erreurs affichées au rechargement (lesquelles déjà?)
50if(isset($_SESSION['erreur']) && !empty($_SESSION['erreur']))
51{
52 echo('<script>alert(\'' . $_SESSION['erreur'] . '\');</script>');
53 unset($_SESSION['erreur']);
54}
55
56
57function deleteCookie(string $name)
58{
59 unset($_COOKIE[$name]); // utile?
60 setcookie($name, '', time() - 4200, '/'); // suppression
61
62 // cookie supprimé au prochain chargement de la page
63 // forcer un rechargement pour effet immédiat
64 //header("Location: index.php");
65 //exit();
66}