diff --git a/calendar/set.php b/calendar/set.php index 345f9e7d3ff..fab8aa54c02 100644 --- a/calendar/set.php +++ b/calendar/set.php @@ -41,8 +41,6 @@ require_once('../config.php'); require_once($CFG->dirroot.'/calendar/lib.php'); -require_sesskey(); - $var = required_param('var', PARAM_ALPHA); $return = clean_param(base64_decode(required_param('return', PARAM_RAW)), PARAM_LOCALURL); $courseid = optional_param('id', -1, PARAM_INT); @@ -51,6 +49,12 @@ if ($courseid != -1) { } else { $return = new moodle_url($return); } + +if (!confirm_sesskey()) { + // Do not call require_sesskey() since this page may be accessed without session (for example by bots). + redirect($return); +} + $url = new moodle_url('/calendar/set.php', array('return'=>base64_encode($return->out_as_local_url(false)), 'course' => $courseid, 'var'=>$var, 'sesskey'=>sesskey())); $PAGE->set_url($url); $PAGE->set_context(context_system::instance());