1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-06-07 06:55:25 +02:00

Merge pull request #4204 from marc1706/ticket/14483

[ticket/14483] Do not send headers by default on access via controller
This commit is contained in:
Máté Bartus 2016-03-08 22:07:11 +01:00
commit 05ccbc512d
2 changed files with 22 additions and 14 deletions

View File

@ -4909,7 +4909,7 @@ function phpbb_get_avatar($row, $alt, $ignore_config = false, $lazy = false)
/** /**
* Generate page header * Generate page header
*/ */
function page_header($page_title = '', $display_online_list = false, $item_id = 0, $item = 'forum') function page_header($page_title = '', $display_online_list = false, $item_id = 0, $item = 'forum', $send_headers = true)
{ {
global $db, $config, $template, $SID, $_SID, $_EXTRA_URL, $user, $auth, $phpEx, $phpbb_root_path; global $db, $config, $template, $SID, $_SID, $_EXTRA_URL, $user, $auth, $phpEx, $phpbb_root_path;
global $phpbb_dispatcher, $request, $phpbb_container, $phpbb_admin_path; global $phpbb_dispatcher, $request, $phpbb_container, $phpbb_admin_path;
@ -5249,17 +5249,22 @@ function page_header($page_title = '', $display_online_list = false, $item_id =
'SITE_LOGO_IMG' => $user->img('site_logo'), 'SITE_LOGO_IMG' => $user->img('site_logo'),
)); ));
// An array of http headers that phpbb will set. The following event may override these. $http_headers = array();
$http_headers = array(
// application/xhtml+xml not used because of IE if ($send_headers)
'Content-type' => 'text/html; charset=UTF-8',
'Cache-Control' => 'private, no-cache="set-cookie"',
'Expires' => gmdate('D, d M Y H:i:s', time()) . ' GMT',
);
if (!empty($user->data['is_bot']))
{ {
// Let reverse proxies know we detected a bot. // An array of http headers that phpbb will set. The following event may override these.
$http_headers['X-PHPBB-IS-BOT'] = 'yes'; $http_headers += array(
// application/xhtml+xml not used because of IE
'Content-type' => 'text/html; charset=UTF-8',
'Cache-Control' => 'private, no-cache="set-cookie"',
'Expires' => gmdate('D, d M Y H:i:s', time()) . ' GMT',
);
if (!empty($user->data['is_bot']))
{
// Let reverse proxies know we detected a bot.
$http_headers['X-PHPBB-IS-BOT'] = 'yes';
}
} }
/** /**

View File

@ -102,12 +102,13 @@ class helper
* @param bool $display_online_list Do we display online users list * @param bool $display_online_list Do we display online users list
* @param int $item_id Restrict online users to item id * @param int $item_id Restrict online users to item id
* @param string $item Restrict online users to a certain session item, e.g. forum for session_forum_id * @param string $item Restrict online users to a certain session item, e.g. forum for session_forum_id
* @param bool $send_headers Whether headers should be sent by page_header(). Defaults to false for controllers.
* *
* @return Response object containing rendered page * @return Response object containing rendered page
*/ */
public function render($template_file, $page_title = '', $status_code = 200, $display_online_list = false, $item_id = 0, $item = 'forum') public function render($template_file, $page_title = '', $status_code = 200, $display_online_list = false, $item_id = 0, $item = 'forum', $send_headers = false)
{ {
page_header($page_title, $display_online_list, $item_id, $item); page_header($page_title, $display_online_list, $item_id, $item, $send_headers);
$this->template->set_filenames(array( $this->template->set_filenames(array(
'body' => $template_file, 'body' => $template_file,
@ -115,7 +116,9 @@ class helper
page_footer(true, false, false); page_footer(true, false, false);
return new Response($this->template->assign_display('body'), $status_code); $headers = !empty($this->user->data['is_bot']) ? array('X-PHPBB-IS-BOT' => 'yes') : array();
return new Response($this->template->assign_display('body'), $status_code, $headers);
} }
/** /**