admin: allow multiple ips

This commit is contained in:
Tanguy Pruvot 2016-01-19 14:03:20 +01:00
parent 13d56d462d
commit 31e908531a
3 changed files with 16 additions and 6 deletions

View file

@ -28,7 +28,7 @@ define('YAAMP_BTCADDRESS', '1Auhps1mHZQpoX4mCcVL8odU81VakZQ6dR');
define('YAAMP_SITE_URL', 'yiimp.ccminer.org');
define('YAAMP_SITE_NAME', 'YiiMP');
define('YAAMP_ADMIN_EMAIL', 'yiimp@spam.la');
define('YAAMP_ADMIN_IP', '80.236.118.26');
define('YAAMP_ADMIN_IP', '127.0.0.1,80.236.118.26');
define('YAAMP_USE_NGINX', false);

View file

@ -8,11 +8,21 @@ class SiteController extends CommonController
public function actionAdminRights()
{
debuglog("admin login {$_SERVER['REMOTE_ADDR']}");
$client_ip = $_SERVER['REMOTE_ADDR'];
$valid = false;
if (strpos(YAAMP_ADMIN_IP, ','))
$valid = in_array($client_ip, explode(',',YAAMP_ADMIN_IP), true);
else
$valid = ($client_ip === YAAMP_ADMIN_IP);
if ($valid)
debuglog("admin connect from $client_ip");
else
debuglog("admin connect failure from $client_ip");
user()->setState('yaamp_admin', $valid);
user()->setState('yaamp_admin', false);
if ($_SERVER['REMOTE_ADDR'] === YAAMP_ADMIN_IP)
user()->setState('yaamp_admin', true);
$this->redirect("/site/common");
}

View file

@ -97,7 +97,7 @@ function showPageHeader()
if(controller()->admin)
{
if (YAAMP_ADMIN_IP != $_SERVER['REMOTE_ADDR'])
if (strpos(YAAMP_ADMIN_IP, $_SERVER['REMOTE_ADDR']) === false)
debuglog("admin {$_SERVER['REMOTE_ADDR']}");
showItemHeader(controller()->id=='coin', '/coin', 'Coins');