From ebd0e986ed11f2a34fb58cdd33efbfab192083ad Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Fri, 22 Apr 2016 05:26:17 -0400
Subject: [PATCH] Added PHP 7 check in installer and updater.
---
interface/web/admin/remote_action_osupdate.php | 38 ++++++++++++++++++++++++--------------
1 files changed, 24 insertions(+), 14 deletions(-)
diff --git a/interface/web/admin/remote_action_osupdate.php b/interface/web/admin/remote_action_osupdate.php
index afa0ec6..0d42308 100644
--- a/interface/web/admin/remote_action_osupdate.php
+++ b/interface/web/admin/remote_action_osupdate.php
@@ -27,11 +27,12 @@
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-require_once('../../lib/config.inc.php');
-require_once('../../lib/app.inc.php');
+require_once '../../lib/config.inc.php';
+require_once '../../lib/app.inc.php';
//* Check permissions for module
$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_osupdate');
//* This is only allowed for administrators
if(!$app->auth->is_admin()) die('only allowed for administrators.');
@@ -43,7 +44,7 @@
//* load language file
$lng_file = 'lib/lang/'.$_SESSION['s']['language'].'_remote_action.lng';
-include($lng_file);
+include $lng_file;
/*
* We need a list of all Servers
@@ -61,6 +62,10 @@
* If the user wants to do the action, write this to our db
*/
if (isset($_POST['server_select'])) {
+
+ //* CSRF Check
+ $app->auth->csrf_token_check();
+
$server = $_POST['server_select'];
$servers = array();
if ($server == '*') {
@@ -74,21 +79,26 @@
$servers[] = $_POST['server_select'];
}
foreach ($servers as $serverId) {
- $sql = "INSERT INTO sys_remoteaction (server_id, tstamp, action_type, action_param, action_status, response) " .
- "VALUES (".
- (int)$serverId . ", " .
- time() . ", " .
- "'os_update', " .
- "'', " .
- "'pending', " .
- "''" .
- ")";
+ $sql = "INSERT INTO sys_remoteaction (server_id, tstamp, action_type, action_param, action_state, response) " .
+ "VALUES (".
+ $app->functions->intval($serverId) . ", " .
+ time() . ", " .
+ "'os_update', " .
+ "'', " .
+ "'pending', " .
+ "''" .
+ ")";
$app->db->query($sql);
}
$msg = $wb['action_scheduled'];
}
-$app->tpl->setVar('msg',$msg);
+$app->tpl->setVar('msg', $msg);
+
+//* SET csrf token
+$csrf_token = $app->auth->csrf_token_get('osupdate');
+$app->tpl->setVar('_csrf_id',$csrf_token['csrf_id']);
+$app->tpl->setVar('_csrf_key',$csrf_token['csrf_key']);
$app->tpl->setVar($wb);
@@ -96,4 +106,4 @@
$app->tpl->pparse();
-?>
\ No newline at end of file
+?>
--
Gitblit v1.9.1