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)
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"
$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.");
}
}
<div class="center"><input type="submit" onclick="window.close()" name="close" value="Fermer" /></div>\r
{else}\r
<form action="send_bug" method="post" onsubmit="cleanContent()">\r
+ {xsrf_token_field}\r
<h1>Signaler un bug ou demander une amélioration</h1>\r
<div style="margin-left:10%;margin-right:10%">\r
<select name="task_type">\r
<div class="menu_title">***</div>
<div class="menu_item"><a href="marketing">Marketing</a></div>
<div class="menu_item"><a href="admin/">Administration</a></div>
-<div class="menu_item"><a href="purge_cache">Clear cache</a></div>
+<div class="menu_item"><a href="purge_cache?token={xsrf_token}">Clear cache</a></div>
<div class="menu_item"><a href="get_rights/user">Devenir utilisateur</a></div>
<div class="menu_item"><a href="http://trackers.polytechnique.org">Trackers</a></div>
<div class="menu_item"><a href="http://support.polytechnique.org">Support</a></div>