mirror of
https://github.com/phpbb/phpbb.git
synced 2025-07-31 05:50:42 +02:00
[feature/request-class] Add server(), header() and is_ajax() to request
Extend the request class with helpers for reading server vars (server()) and HTTP request headers (header()). Refactor the existing code base to make use of these helpers, make $_SERVER a deactivated super global. Also introduce an is_ajax() method, which checks the X-Requested-With header for the value 'XMLHttpRequest', which is sent by JavaScript libraries, such as jQuery. PHPBB3-9716
This commit is contained in:
@@ -28,9 +28,9 @@ if (!defined('IN_PHPBB'))
|
||||
*/
|
||||
function init_apache()
|
||||
{
|
||||
global $user;
|
||||
global $user, $request;
|
||||
|
||||
if (!isset($_SERVER['PHP_AUTH_USER']) || $user->data['username'] !== $_SERVER['PHP_AUTH_USER'])
|
||||
if (!$request->is_set('PHP_AUTH_USER', phpbb_request_interface::SERVER) || $user->data['username'] !== $request->server('PHP_AUTH_USER'))
|
||||
{
|
||||
return $user->lang['APACHE_SETUP_BEFORE_USE'];
|
||||
}
|
||||
@@ -42,7 +42,7 @@ function init_apache()
|
||||
*/
|
||||
function login_apache(&$username, &$password)
|
||||
{
|
||||
global $db;
|
||||
global $db, $request;
|
||||
|
||||
// do not allow empty password
|
||||
if (!$password)
|
||||
@@ -63,7 +63,7 @@ function login_apache(&$username, &$password)
|
||||
);
|
||||
}
|
||||
|
||||
if (!isset($_SERVER['PHP_AUTH_USER']))
|
||||
if (!$request->is_set('PHP_AUTH_USER', phpbb_request_interface::SERVER))
|
||||
{
|
||||
return array(
|
||||
'status' => LOGIN_ERROR_EXTERNAL_AUTH,
|
||||
@@ -72,8 +72,8 @@ function login_apache(&$username, &$password)
|
||||
);
|
||||
}
|
||||
|
||||
$php_auth_user = $_SERVER['PHP_AUTH_USER'];
|
||||
$php_auth_pw = $_SERVER['PHP_AUTH_PW'];
|
||||
$php_auth_user = $request->server('PHP_AUTH_USER');
|
||||
$php_auth_pw = $request->server('PHP_AUTH_PW');
|
||||
|
||||
if (!empty($php_auth_user) && !empty($php_auth_pw))
|
||||
{
|
||||
@@ -136,15 +136,15 @@ function login_apache(&$username, &$password)
|
||||
*/
|
||||
function autologin_apache()
|
||||
{
|
||||
global $db;
|
||||
global $db, $request;
|
||||
|
||||
if (!isset($_SERVER['PHP_AUTH_USER']))
|
||||
if (!$request->is_set('PHP_AUTH_USER', phpbb_request_interface::SERVER))
|
||||
{
|
||||
return array();
|
||||
}
|
||||
|
||||
$php_auth_user = $_SERVER['PHP_AUTH_USER'];
|
||||
$php_auth_pw = $_SERVER['PHP_AUTH_PW'];
|
||||
$php_auth_user = $request->server('PHP_AUTH_USER');
|
||||
$php_auth_pw = $request->server('PHP_AUTH_PW');
|
||||
|
||||
if (!empty($php_auth_user) && !empty($php_auth_pw))
|
||||
{
|
||||
@@ -228,11 +228,12 @@ function user_row_apache($username, $password)
|
||||
*/
|
||||
function validate_session_apache(&$user)
|
||||
{
|
||||
global $request;
|
||||
|
||||
// Check if PHP_AUTH_USER is set and handle this case
|
||||
if (isset($_SERVER['PHP_AUTH_USER']))
|
||||
if ($request->is_set('PHP_AUTH_USER', phpbb_request_interface::SERVER))
|
||||
{
|
||||
$php_auth_user = '';
|
||||
set_var($php_auth_user, $_SERVER['PHP_AUTH_USER'], 'string', true);
|
||||
$php_auth_user = $request->server('PHP_AUTH_USER', '', true);
|
||||
|
||||
return ($php_auth_user === $user['username']) ? true : false;
|
||||
}
|
||||
|
Reference in New Issue
Block a user