aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@gmx.de>2015-06-04 14:06:35 +0200
committerJoas Schilling <nickvergessen@gmx.de>2015-06-04 14:06:35 +0200
commit6ca3a30576ae1bac68d5f4ef5dec286f000131ee (patch)
tree0f2397a9f3cd6d47c8f338e06e792ed741c823c0
parentdb3782e4912e2945a546309dab38a4c00bd0f5c5 (diff)
downloadforums-6ca3a30576ae1bac68d5f4ef5dec286f000131ee.tar
forums-6ca3a30576ae1bac68d5f4ef5dec286f000131ee.tar.gz
forums-6ca3a30576ae1bac68d5f4ef5dec286f000131ee.tar.bz2
forums-6ca3a30576ae1bac68d5f4ef5dec286f000131ee.tar.xz
forums-6ca3a30576ae1bac68d5f4ef5dec286f000131ee.zip
[ticket/sec-184] Do not output config passwords to the HTML page
SECURITY-184
-rw-r--r--phpBB/includes/acp/acp_board.php9
-rw-r--r--phpBB/includes/functions_acp.php7
2 files changed, 14 insertions, 2 deletions
diff --git a/phpBB/includes/acp/acp_board.php b/phpBB/includes/acp/acp_board.php
index a41a53226f..5247bb213d 100644
--- a/phpBB/includes/acp/acp_board.php
+++ b/phpBB/includes/acp/acp_board.php
@@ -500,7 +500,7 @@ class acp_board
}
// We go through the display_vars to make sure no one is trying to set variables he/she is not allowed to...
- foreach ($display_vars['vars'] as $config_name => $null)
+ foreach ($display_vars['vars'] as $config_name => $data)
{
if (!isset($cfg_array[$config_name]) || strpos($config_name, 'legend') !== false)
{
@@ -532,6 +532,13 @@ class acp_board
if ($submit)
{
+ if (strpos($data['type'], 'password') === 0 && $config_value === '********')
+ {
+ // Do not update password fields if the content is ********,
+ // because that is the password replacement we use to not
+ // send the password to the output
+ continue;
+ }
set_config($config_name, $config_value);
if ($config_name == 'allow_quick_reply' && isset($_POST['allow_quick_reply_enable']))
diff --git a/phpBB/includes/functions_acp.php b/phpBB/includes/functions_acp.php
index a53a54368e..d566336d26 100644
--- a/phpBB/includes/functions_acp.php
+++ b/phpBB/includes/functions_acp.php
@@ -245,8 +245,13 @@ function build_cfg_template($tpl_type, $key, &$new, $config_key, $vars)
switch ($tpl_type[0])
{
- case 'text':
case 'password':
+ if ($new[$config_key] !== '')
+ {
+ // replace passwords with asterixes
+ $new[$config_key] = '********';
+ }
+ case 'text':
case 'url':
case 'email':
case 'color':