From: Vincent Zanotti Date: Sun, 18 May 2008 17:29:59 +0000 (+0200) Subject: Adds XSRF protection to the Core modue. X-Git-Tag: core/1.0.0~183 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=e8dfa21cb3ade890694157170de1a1c6d7519531;p=platal.git Adds XSRF protection to the Core modue. Signed-off-by: Vincent Zanotti --- diff --git a/modules/core.php b/modules/core.php index f5bac89..663af58 100644 --- a/modules/core.php +++ b/modules/core.php @@ -79,12 +79,16 @@ class CoreModule extends PLModule function handler_purge_cache(&$page) { - require_once 'wiki.inc.php'; + if (S::has_xsrf_token()) { + require_once 'wiki.inc.php'; - $page->clear_compiled_tpl(); - wiki_clear_all_cache(); + $page->clear_compiled_tpl(); + wiki_clear_all_cache(); - http_redirect(empty($_SERVER['HTTP_REFERER']) ? './' : $_SERVER['HTTP_REFERER']); + http_redirect(empty($_SERVER['HTTP_REFERER']) ? './' : $_SERVER['HTTP_REFERER']); + } else { + $page->kill("La purge du cache a échouée, merci de réessayer."); + } } function handler_kill_sessions(&$page) @@ -112,7 +116,7 @@ class CoreModule extends PLModule global $globals; $page->changeTpl('core/bug.tpl', SIMPLE); $page->addJsLink('close_on_esc.js'); - if (Env::has('send') && trim(Env::v('detailed_desc'))) { + if (Env::has('send') && trim(Env::v('detailed_desc')) && S::has_xsrf_token()) { $body = wordwrap(Env::v('detailed_desc'), 78) . "\n\n" . "----------------------------\n" . "Page : " . Env::v('page') . "\n\n" @@ -127,8 +131,10 @@ class CoreModule extends PLModule $mymail->setSubject('Plat/al '.Env::v('task_type').' : '.Env::v('item_summary')); $mymail->setTxtBody($body); $mymail->send(); - } elseif (Env::has('send')) { + } elseif (Env::has('send') && S::has_xsrf_token()) { $page->trig("Merci de remplir une explication du problème rencontré"); + } elseif (Env::has('send')) { + $page->trig("L'envoi du bug a échoué, merci de réessayer."); } } diff --git a/templates/core/bug.tpl b/templates/core/bug.tpl index fae29f6..15f36d8 100644 --- a/templates/core/bug.tpl +++ b/templates/core/bug.tpl @@ -60,6 +60,7 @@ function fillContent()
{else}
+ {xsrf_token_field}

Signaler un bug ou demander une amélioration