From dd0607b7bbaff38cc62e4d00658c02da3fdbb4c8 Mon Sep 17 00:00:00 2001 From: Frederic Massart Date: Wed, 4 Mar 2015 12:11:08 +0100 Subject: [PATCH] MDL-49179 mod_forum, mod_quiz: Prevent misuse of get_referer() --- mod/forum/post.php | 3 ++- mod/quiz/renderer.php | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/mod/forum/post.php b/mod/forum/post.php index a6c48b00dd1..aed80512ca5 100644 --- a/mod/forum/post.php +++ b/mod/forum/post.php @@ -87,9 +87,10 @@ if (!isloggedin() or isguestuser()) { $PAGE->set_context($modcontext); $PAGE->set_title($course->shortname); $PAGE->set_heading($course->fullname); + $referer = clean_param(get_referer(false), PARAM_LOCALURL); echo $OUTPUT->header(); - echo $OUTPUT->confirm(get_string('noguestpost', 'forum').'

'.get_string('liketologin'), get_login_url(), get_referer(false)); + echo $OUTPUT->confirm(get_string('noguestpost', 'forum').'

'.get_string('liketologin'), get_login_url(), $referer); echo $OUTPUT->footer(); exit; } diff --git a/mod/quiz/renderer.php b/mod/quiz/renderer.php index 01dfa5d80b5..9772d452c2c 100644 --- a/mod/quiz/renderer.php +++ b/mod/quiz/renderer.php @@ -850,8 +850,8 @@ class mod_quiz_renderer extends plugin_renderer_base { $output .= $this->view_information($quiz, $cm, $context, $messages); $guestno = html_writer::tag('p', get_string('guestsno', 'quiz')); $liketologin = html_writer::tag('p', get_string('liketologin')); - $output .= $this->confirm($guestno."\n\n".$liketologin."\n", get_login_url(), - get_referer(false)); + $referer = clean_param(get_referer(false), PARAM_LOCALURL); + $output .= $this->confirm($guestno."\n\n".$liketologin."\n", get_login_url(), $referer); return $output; }