X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=classes%2Fsession.php;h=6eb5b3095ee8476a9c3d7ddbd5c9c24ae20fa368;hb=2669eb7ddb20749fd6d1e99e611f6d199daa5580;hp=5a580592d19d5b4a09d1dd93bfde49aaeb8ba5ab;hpb=060b07f86a162c14fb145a77a91826d04e75c9c4;p=platal.git diff --git a/classes/session.php b/classes/session.php index 5a58059..6eb5b30 100644 --- a/classes/session.php +++ b/classes/session.php @@ -78,19 +78,35 @@ class Session return Session::logged() && Session::v('perms')->hasFlag(PERMS_ADMIN); } + public static function logged() + { + return Session::v('auth', AUTH_PUBLIC) >= AUTH_COOKIE; + } + + public static function identified() + { + return Session::v('auth', AUTH_PUBLIC) >= AUTH_MDP; + } + + // Anti-XSRF protections. public static function has_xsrf_token() { return Session::has('xsrf_token') && Session::v('xsrf_token') == Env::v('token'); } - public static function logged() + public static function assert_xsrf_token() { - return Session::v('auth', AUTH_PUBLIC) >= AUTH_COOKIE; + if (!Session::has_xsrf_token()) { + global $page; + if ($page instanceof PlatalPage) { + $page->kill("L'opération n'a pas pu aboutir, merci de réessayer."); + } + } } - public static function identified() + public static function rssActivated() { - return Session::v('auth', AUTH_PUBLIC) >= AUTH_MDP; + return Session::has('core_rss_hash') && Session::v('core_rss_hash'); } } @@ -107,7 +123,7 @@ function check_perms() if ($_SESSION['log']) { $_SESSION['log']->log("noperms",$_SERVER['PHP_SELF']); } - $page->kill("Tu n'as pas les permissions nécessaires pour accéder à cette page."); + $page->kill("Tu n'as pas les permissions nécessaires pour accéder à cette page."); } }