From d2fcc36341d70ad246cc07603cf997ffc44eed2d Mon Sep 17 00:00:00 2001 From: Mcat12 Date: Mon, 7 Nov 2016 21:10:36 -0500 Subject: [PATCH] Require CORS check on all admin pages This is mainly added so that an ad can't enable/disable the Pi-hole by simply loading a url like `http://pi.hole/admin/index.php?disable` --- header.php | 17 +++++---- php/add.php | 8 ++++ php/auth.php | 106 ++++++++++++++++++++++++++++----------------------- php/sub.php | 8 ++++ 4 files changed, 84 insertions(+), 55 deletions(-) diff --git a/header.php b/header.php index bc31aa9e..3c8d9339 100644 --- a/header.php +++ b/header.php @@ -1,12 +1,15 @@ = 0; --$i) { + $ret |= ord($res[$i]); + } + + return !$ret; } + } - $res = $known_string ^ $user_string; + if(!isset($_SESSION['token'], $_POST['token']) || !hash_equals($_SESSION['token'], $_POST['token'])) { + log_and_die("Wrong token"); + } +} - for ($i = strlen($res) - 1; $i >= 0; --$i) { - $ret |= ord($res[$i]); +function check_domain() { + if(isset($_POST['domain'])){ + $validDomain = is_valid_domain_name($_POST['domain']); + if(!$validDomain){ + log_and_die($_POST['domain']. ' is not a valid domain'); } - - return !$ret; } } - -if(!isset($_SESSION['token'], $_POST['token']) || !hash_equals($_SESSION['token'], $_POST['token'])) { - log_and_die("Wrong token"); -} - -if(isset($_POST['domain'])){ - $validDomain = is_valid_domain_name($_POST['domain']); - if(!$validDomain){ - log_and_die($_POST['domain']. ' is not a valid domain'); - } -} - ?> diff --git a/php/sub.php b/php/sub.php index e4f02918..e4e8368f 100644 --- a/php/sub.php +++ b/php/sub.php @@ -1,6 +1,14 @@