유저 권한을 $SESSION을 이용하는 형태로 변경

This commit is contained in:
2018-03-19 22:57:01 +09:00
parent bf5bc5b948
commit 0518671816
6 changed files with 88 additions and 84 deletions
+3 -6
View File
@@ -4,12 +4,9 @@ require_once(ROOT.'/f_func/class._Session.php');
$SESSION = new _Session(); $SESSION = new _Session();
if($SESSION->isLoggedIn() == false) { if(!$SESSION->isLoggedIn()) {
// echo('<script>window.top.entrance.location.replace("'.ROOT.'/indexLogin.php");</script>'); header ("Location: ".ROOT);
header ("Location: ".ROOT.'/i_login/login.php'); die();
exit(1);
//echo('<script>window.top.entrance.location.replace("'.ROOT.'/i_login/login.php");</script>');
//exit(1);
} }
+4
View File
@@ -39,6 +39,10 @@ class _Session {
unset($_SESSION['userGrade']); unset($_SESSION['userGrade']);
} }
public function getGrade() {
return $_SESSION['userGrade'];
}
public function isLoggedIn() { public function isLoggedIn() {
if($this->NoMember()){ if($this->NoMember()){
return true; return true;
+3 -2
View File
@@ -53,8 +53,9 @@
text-align: center; text-align: center;
} }
#user_info input{ #user_info button{
width: 200px; height: 50px; width: 200px;
height: 50px;
margin: 10px 50px; margin: 10px 50px;
} }
+10 -8
View File
@@ -19,8 +19,14 @@ $notice = util::array_get($_POST['notice'], '');
$server = util::array_get($_POST['server'], ''); $server = util::array_get($_POST['server'], '');
$db = getRootDB(); $db = getRootDB();
$userGrade = $SESSION->getGrade();
$member = $db->queryFirstRow('SELECT `GRADE` FROM `MEMBER` WHERE `NO` = %i', $SESSION->NoMember()); if($userGrade < 6) {
returnJson([
'result'=>'FAIL',
'msg'=>'운영자 권한이 없습니다.'
]);
}
function doServerModeSet($server, $action, &$response){ function doServerModeSet($server, $action, &$response){
$serverList = getServerConfigList(); $serverList = getServerConfigList();
@@ -48,6 +54,7 @@ function doServerModeSet($server, $action, &$response){
['allow_ip' => $allow_ip, 'xforward_allow_ip' => $xforward_allow_ip]); ['allow_ip' => $allow_ip, 'xforward_allow_ip' => $xforward_allow_ip]);
file_put_contents($serverPath.'/.htaccess', $htaccess); file_put_contents($serverPath.'/.htaccess', $htaccess);
} elseif($action == 'reset') {//리셋 } elseif($action == 'reset') {//리셋
//FIXME: reset, reset_full 구현
if(file_exists($serverPath.'/d_setting/conf.php')){ if(file_exists($serverPath.'/d_setting/conf.php')){
@unlink($serverPath.'/d_setting/conf.php'); @unlink($serverPath.'/d_setting/conf.php');
} }
@@ -63,13 +70,8 @@ function doServerModeSet($server, $action, &$response){
return true; return true;
} }
function doAdminPost($member, $action, $notice, $server){ function doAdminPost($action, $notice, $server){
$response['result'] = 'FAIL'; $response['result'] = 'FAIL';
if($member['GRADE'] < 6) {
$response['result'] = 'FAIL';
$response['msg'] = '운영자 권한이 없습니다.';
return $response;
}
if($action == 'notice') { if($action == 'notice') {
getRootDB()->update('SYSTEM', ['NOTICE'=>$notice], 'NO=1'); getRootDB()->update('SYSTEM', ['NOTICE'=>$notice], 'NO=1');
@@ -86,6 +88,6 @@ function doAdminPost($member, $action, $notice, $server){
} }
$response = doAdminPost($member, $action, $notice, $server); $response = doAdminPost($action, $notice, $server);
echo json_encode($response); echo json_encode($response);
+5 -6
View File
@@ -6,9 +6,8 @@ require_once(ROOT.'/f_config/SESSION.php');
$templates = new League\Plates\Engine('templates'); $templates = new League\Plates\Engine('templates');
$db = getRootDB(); $db = getRootDB();
$system = $db->queryFirstRow('SELECT `NOTICE` FROM `SYSTEM` WHERE `NO`=1'); $notice = $db->queryFirstField('SELECT `NOTICE` FROM `SYSTEM` WHERE `NO`=1');
$member = $db->queryFirstRow('SELECT ID, GRADE FROM `MEMBER` WHERE `NO` = %i', $SESSION->NoMember()); $userGrade = $SESSION->getGrade();
$userGrade = $member['GRADE'];
?> ?>
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
@@ -44,7 +43,7 @@ $userGrade = $member['GRADE'];
<body> <body>
<?php include("manage".W."Frame.php"); ?> <?php include("manage".W."Frame.php"); ?>
<?php <?php
if($member['GRADE'] >= 6) { if($userGrade >= 6) {
include('member/Frame.php'); include('member/Frame.php');
} }
?> ?>
@@ -53,11 +52,11 @@ if($member['GRADE'] >= 6) {
<?php <?php
if($userGrade >= 6){ if($userGrade >= 6){
echo $templates->render('global_panel',['notice'=>$system['NOTICE']]); echo $templates->render('global_panel',['notice'=>$notice]);
} }
?> ?>
<div id="server_notice"><span style="color:orange;font-size:2em;"><?=$system['NOTICE'];?></span></div> <div id="server_notice"><span style="color:orange;font-size:2em;"><?=$notice?></span></div>
<table id="server_list_table"> <table id="server_list_table">
<caption class="bg2 section_title with_border">서 버 선 택</caption> <caption class="bg2 section_title with_border">서 버 선 택</caption>
+63 -62
View File
@@ -10,69 +10,70 @@ use utilphp\util as util;
$select = $_GET['select']; $select = $_GET['select'];
$db = getRootDB(); $db = getRootDB();
$member = $db->queryFirstRow('SELECT `GRADE` FROM `MEMBER` WHERE `no` = %i', $SESSION->NoMember()); $userGrade = $SESSION->getGrade();
if($member['GRADE'] < 6) { if($userGrade < 6) {
$response['result'] = 'FAIL'; returnJson([
$response['msg'] = '운영자 권한이 없습니다.'; 'result'=>'FAIL',
} else { 'msg'=>'운영자 권한이 없습니다.'
]);
$orderByStr = '';
switch($select) {
case 0: $orderByStr = 'ORDER BY NO'; break;
case 1: $orderByStr = 'ORDER BY ID'; break;
case 2: $orderByStr = 'ORDER BY NAME'; break;
case 3: $orderByStr = 'ORDER BY PID'; break;
case 4: $orderByStr = 'ORDER BY IP'; break;
case 5: $orderByStr = 'ORDER BY GRADE DESC'; break;
case 6: $orderByStr = 'ORDER BY REG_NUM DESC'; break;
case 7: $orderByStr = 'ORDER BY REG_DATE DESC'; break;
}
$response['lists'] = '';
$response['members'] = '<table id="EntranceMember_000500" class="bg0">';
$members = $db->queryFirstRow('SELECT NO, ID, PID, NAME, IP, PICTURE, IMGSVR, GRADE, REG_NUM, REG_DATE, BLOCK_NUM, BLOCK_DATE, QUIT FROM MEMBER %l', $orderByStr);
$count = count($members);
foreach($members as $member){
$member['PID'] = substr($member['PID'], 0, 8);
$member['PICTURE'] = substr($member['PICTURE'], -8);
if($member['GRADE'] == 2) { $member['GRADE'] = "<font color=skyblue>{$member['GRADE']}</font>"; }
if($member['GRADE'] == 3) { $member['GRADE'] = "<font color=limegreen>{$member['GRADE']}</font>"; }
if($member['GRADE'] == 4) { $member['GRADE'] = "<font color=cyan>{$member['GRADE']}</font>"; }
if($member['GRADE'] == 5) { $member['GRADE'] = "<font color=blue>{$member['GRADE']}</font>"; }
if($member['GRADE'] == 6) { $member['GRADE'] = "<font color=blue>{$member['GRADE']}</font>"; }
$response['lists'] .= "<option value='{$member['NO']}'>{$member['NAME']}</option>";
$response['members'] .= "
<tr>
<td class='EntranceMember_00050000'>{$member['NO']}</td>
<td class='EntranceMember_00050001'>{$member['ID']}</td>
<td class='EntranceMember_00050002'>{$member['PID']}</td>
<td class='EntranceMember_00050003'>{$member['NAME']}</td>
<td class='EntranceMember_00050004'>{$member['IP']}</td>
<td class='EntranceMember_00050005'>{$member['BLOCK_NUM']}</td>
<td class='EntranceMember_00050006'>{$member['BLOCK_DATE']}</td>
<td class='EntranceMember_00050007'>{$member['REG_NUM']}</td>
<td class='EntranceMember_00050008'>{$member['REG_DATE']}</td>
<td class='EntranceMember_00050009'>{$member['GRADE']}</td>
<td class='EntranceMember_00050012'>{$member['PICTURE']}</td>
<td class='EntranceMember_00050013'>{$member['IMGSVR']}</td>
<td class='EntranceMember_00050014'>{$member['QUIT']}</td>
</tr>";
}
$response['members'] .= '</table>';
$response['count'] = "(0000/{$count})";
$system = getRootDB()->queryFirstRow('SELECT `REG`, `LOGIN` FROM `SYSTEM` WHERE `NO`=1');
$response['state'] = "가입: {$system['REG']}, 로그인: {$system['LOGIN']}";
$response['result'] = 'SUCCESS';
} }
echo json_encode($response); $orderByStr = '';
switch($select) {
case 0: $orderByStr = 'ORDER BY NO'; break;
case 1: $orderByStr = 'ORDER BY ID'; break;
case 2: $orderByStr = 'ORDER BY NAME'; break;
case 3: $orderByStr = 'ORDER BY PID'; break;
case 4: $orderByStr = 'ORDER BY IP'; break;
case 5: $orderByStr = 'ORDER BY GRADE DESC'; break;
case 6: $orderByStr = 'ORDER BY REG_NUM DESC'; break;
case 7: $orderByStr = 'ORDER BY REG_DATE DESC'; break;
}
$response['lists'] = '';
$response['members'] = '<table id="EntranceMember_000500" class="bg0">';
$members = $db->queryFirstRow('SELECT NO, ID, PID, NAME, IP, PICTURE, IMGSVR, GRADE, REG_NUM, REG_DATE, BLOCK_NUM, BLOCK_DATE, QUIT FROM MEMBER %l', $orderByStr);
$count = count($members);
foreach($members as $member){
$member['PID'] = substr($member['PID'], 0, 8);
$member['PICTURE'] = substr($member['PICTURE'], -8);
if($member['GRADE'] == 2) { $member['GRADE'] = "<font color=skyblue>{$member['GRADE']}</font>"; }
if($member['GRADE'] == 3) { $member['GRADE'] = "<font color=limegreen>{$member['GRADE']}</font>"; }
if($member['GRADE'] == 4) { $member['GRADE'] = "<font color=cyan>{$member['GRADE']}</font>"; }
if($member['GRADE'] == 5) { $member['GRADE'] = "<font color=blue>{$member['GRADE']}</font>"; }
if($member['GRADE'] == 6) { $member['GRADE'] = "<font color=blue>{$member['GRADE']}</font>"; }
$response['lists'] .= "<option value='{$member['NO']}'>{$member['NAME']}</option>";
$response['members'] .= "
<tr>
<td class='EntranceMember_00050000'>{$member['NO']}</td>
<td class='EntranceMember_00050001'>{$member['ID']}</td>
<td class='EntranceMember_00050002'>{$member['PID']}</td>
<td class='EntranceMember_00050003'>{$member['NAME']}</td>
<td class='EntranceMember_00050004'>{$member['IP']}</td>
<td class='EntranceMember_00050005'>{$member['BLOCK_NUM']}</td>
<td class='EntranceMember_00050006'>{$member['BLOCK_DATE']}</td>
<td class='EntranceMember_00050007'>{$member['REG_NUM']}</td>
<td class='EntranceMember_00050008'>{$member['REG_DATE']}</td>
<td class='EntranceMember_00050009'>{$member['GRADE']}</td>
<td class='EntranceMember_00050012'>{$member['PICTURE']}</td>
<td class='EntranceMember_00050013'>{$member['IMGSVR']}</td>
<td class='EntranceMember_00050014'>{$member['QUIT']}</td>
</tr>";
}
$response['members'] .= '</table>';
$response['count'] = "(0000/{$count})";
$system = getRootDB()->queryFirstRow('SELECT `REG`, `LOGIN` FROM `SYSTEM` WHERE `NO`=1');
$response['state'] = "가입: {$system['REG']}, 로그인: {$system['LOGIN']}";
$response['result'] = 'SUCCESS';
returnJson($response);