aboutsummaryrefslogtreecommitdiffstats
path: root/tests/security/base.php
diff options
context:
space:
mode:
authorNils Adermann <naderman@naderman.de>2011-08-18 19:15:00 -0400
committerNils Adermann <naderman@naderman.de>2011-08-18 19:15:00 -0400
commit052e33823b98ec3e51fdb424937e72dd1f33d11f (patch)
tree975749ed51ac43c98940b7dd7b0ed03a9f99d7a6 /tests/security/base.php
parentd06dcd69e60bc3e6eafb4a11dfb1639fa4e4646b (diff)
parentb05382d226d2c5d68ff5a483d8885f65e754c90d (diff)
downloadforums-052e33823b98ec3e51fdb424937e72dd1f33d11f.tar
forums-052e33823b98ec3e51fdb424937e72dd1f33d11f.tar.gz
forums-052e33823b98ec3e51fdb424937e72dd1f33d11f.tar.bz2
forums-052e33823b98ec3e51fdb424937e72dd1f33d11f.tar.xz
forums-052e33823b98ec3e51fdb424937e72dd1f33d11f.zip
Merge remote-tracking branch 'github-igorw/feature/request-class' into develop
* github-igorw/feature/request-class: [feature/request-class] Fix session_testable_factory [feature/request-class] Adjust code base to do html decoding manually [feature/request-class] Remove $html_encode arg, force manual decoding [feature/request-class] Do not html escape user agent in header_filename [feature/request-class] Make use of the is_secure() method [feature/request-class] Add is_secure method to request for HTTPS [feature/request-class] Make server() use the $html_encode parameter [feature/request-class] Remove useless condition [feature/request-class] Minor spacing CS adjustments [feature/request-class] Add server(), header() and is_ajax() to request
Diffstat (limited to 'tests/security/base.php')
-rw-r--r--tests/security/base.php36
1 files changed, 20 insertions, 16 deletions
diff --git a/tests/security/base.php b/tests/security/base.php
index db9c884cf4..4b259a2aac 100644
--- a/tests/security/base.php
+++ b/tests/security/base.php
@@ -7,6 +7,8 @@
*
*/
+require_once dirname(__FILE__) . '/../mock/request.php';
+
abstract class phpbb_security_test_base extends phpbb_test_case
{
/**
@@ -14,20 +16,20 @@ abstract class phpbb_security_test_base extends phpbb_test_case
*/
protected function setUp()
{
- global $user, $phpbb_root_path;
+ global $user, $phpbb_root_path, $request;
// Put this into a global function being run by every test to init a proper user session
- $_SERVER['HTTP_HOST'] = 'localhost';
- $_SERVER['SERVER_NAME'] = 'localhost';
- $_SERVER['SERVER_ADDR'] = '127.0.0.1';
- $_SERVER['SERVER_PORT'] = 80;
- $_SERVER['REMOTE_ADDR'] = '127.0.0.1';
- $_SERVER['QUERY_STRING'] = '';
- $_SERVER['REQUEST_URI'] = '/tests/';
- $_SERVER['SCRIPT_NAME'] = '/tests/index.php';
- $_SERVER['PHP_SELF'] = '/tests/index.php';
- $_SERVER['HTTP_USER_AGENT'] = 'Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14';
- $_SERVER['HTTP_ACCEPT_LANGUAGE'] = 'de-de,de;q=0.8,en-us;q=0.5,en;q=0.3';
+ $server['HTTP_HOST'] = 'localhost';
+ $server['SERVER_NAME'] = 'localhost';
+ $server['SERVER_ADDR'] = '127.0.0.1';
+ $server['SERVER_PORT'] = 80;
+ $server['REMOTE_ADDR'] = '127.0.0.1';
+ $server['QUERY_STRING'] = '';
+ $server['REQUEST_URI'] = '/tests/';
+ $server['SCRIPT_NAME'] = '/tests/index.php';
+ $server['PHP_SELF'] = '/tests/index.php';
+ $server['HTTP_USER_AGENT'] = 'Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14';
+ $server['HTTP_ACCEPT_LANGUAGE'] = 'de-de,de;q=0.8,en-us;q=0.5,en;q=0.3';
/*
[HTTP_ACCEPT_ENCODING] => gzip,deflate
@@ -36,13 +38,15 @@ abstract class phpbb_security_test_base extends phpbb_test_case
[SCRIPT_FILENAME] => /var/www/tests/index.php
*/
+ $request = new phpbb_mock_request(array(), array(), array(), $server);
+
// Set no user and trick a bit to circumvent errors
$user = new user();
$user->lang = true;
- $user->browser = (!empty($_SERVER['HTTP_USER_AGENT'])) ? htmlspecialchars((string) $_SERVER['HTTP_USER_AGENT']) : '';
- $user->referer = (!empty($_SERVER['HTTP_REFERER'])) ? htmlspecialchars((string) $_SERVER['HTTP_REFERER']) : '';
- $user->forwarded_for = (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) ? (string) $_SERVER['HTTP_X_FORWARDED_FOR'] : '';
- $user->host = (!empty($_SERVER['HTTP_HOST'])) ? (string) strtolower($_SERVER['HTTP_HOST']) : ((!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : getenv('SERVER_NAME'));
+ $user->browser = $server['HTTP_USER_AGENT'];
+ $user->referer = '';
+ $user->forwarded_for = '';
+ $user->host = $server['HTTP_HOST'];
$user->page = session::extract_current_page($phpbb_root_path);
}