bbd5f28415
Doing this in the PHP code is not the right approach for multiple reasons: 1. A bug in the PHP code prevents them from being added to the response. 2. They are only added when something is served via PHP and not in other cases (that makes for example the newest IE UXSS which is not yet patched by Microsoft exploitable on ownCloud) 3. Some headers such as the Strict-Transport-Security might require custom modifications by administrators. This was not possible before and lead to buggy situations. This pull request moves those headers out of the PHP code and adds a security check to the admin settings performed via JS.
58 lines
1.2 KiB
PHP
58 lines
1.2 KiB
PHP
<?php
|
|
/**
|
|
* @author Lukas Reschke
|
|
* @copyright 2014 Lukas Reschke lukas@owncloud.com
|
|
*
|
|
* This file is licensed under the Affero General Public License version 3 or
|
|
* later.
|
|
* See the COPYING-README file.
|
|
*/
|
|
|
|
namespace OC\Settings\Controller;
|
|
|
|
use \OCP\AppFramework\Controller;
|
|
use OCP\IRequest;
|
|
use OCP\IConfig;
|
|
|
|
/**
|
|
* @package OC\Settings\Controller
|
|
*/
|
|
class SecuritySettingsController extends Controller {
|
|
/** @var \OCP\IConfig */
|
|
private $config;
|
|
|
|
/**
|
|
* @param string $appName
|
|
* @param IRequest $request
|
|
* @param IConfig $config
|
|
*/
|
|
public function __construct($appName,
|
|
IRequest $request,
|
|
IConfig $config) {
|
|
parent::__construct($appName, $request);
|
|
$this->config = $config;
|
|
}
|
|
|
|
/**
|
|
* @return array
|
|
*/
|
|
protected function returnSuccess() {
|
|
return array(
|
|
'status' => 'success'
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Add a new trusted domain
|
|
* @param string $newTrustedDomain The newly to add trusted domain
|
|
* @return array
|
|
*/
|
|
public function trustedDomains($newTrustedDomain) {
|
|
$trustedDomains = $this->config->getSystemValue('trusted_domains');
|
|
$trustedDomains[] = $newTrustedDomain;
|
|
$this->config->setSystemValue('trusted_domains', $trustedDomains);
|
|
|
|
return $this->returnSuccess();
|
|
}
|
|
|
|
}
|