유저 권한을 $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();
if($SESSION->isLoggedIn() == false) {
// echo('<script>window.top.entrance.location.replace("'.ROOT.'/indexLogin.php");</script>');
header ("Location: ".ROOT.'/i_login/login.php');
exit(1);
//echo('<script>window.top.entrance.location.replace("'.ROOT.'/i_login/login.php");</script>');
//exit(1);
if(!$SESSION->isLoggedIn()) {
header ("Location: ".ROOT);
die();
}
+4
View File
@@ -39,6 +39,10 @@ class _Session {
unset($_SESSION['userGrade']);
}
public function getGrade() {
return $_SESSION['userGrade'];
}
public function isLoggedIn() {
if($this->NoMember()){
return true;
+3 -2
View File
@@ -53,8 +53,9 @@
text-align: center;
}
#user_info input{
width: 200px; height: 50px;
#user_info button{
width: 200px;
height: 50px;
margin: 10px 50px;
}
+10 -8
View File
@@ -19,8 +19,14 @@ $notice = util::array_get($_POST['notice'], '');
$server = util::array_get($_POST['server'], '');
$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){
$serverList = getServerConfigList();
@@ -48,6 +54,7 @@ function doServerModeSet($server, $action, &$response){
['allow_ip' => $allow_ip, 'xforward_allow_ip' => $xforward_allow_ip]);
file_put_contents($serverPath.'/.htaccess', $htaccess);
} elseif($action == 'reset') {//리셋
//FIXME: reset, reset_full 구현
if(file_exists($serverPath.'/d_setting/conf.php')){
@unlink($serverPath.'/d_setting/conf.php');
}
@@ -63,13 +70,8 @@ function doServerModeSet($server, $action, &$response){
return true;
}
function doAdminPost($member, $action, $notice, $server){
function doAdminPost($action, $notice, $server){
$response['result'] = 'FAIL';
if($member['GRADE'] < 6) {
$response['result'] = 'FAIL';
$response['msg'] = '운영자 권한이 없습니다.';
return $response;
}
if($action == 'notice') {
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);
+5 -6
View File
@@ -6,9 +6,8 @@ require_once(ROOT.'/f_config/SESSION.php');
$templates = new League\Plates\Engine('templates');
$db = getRootDB();
$system = $db->queryFirstRow('SELECT `NOTICE` FROM `SYSTEM` WHERE `NO`=1');
$member = $db->queryFirstRow('SELECT ID, GRADE FROM `MEMBER` WHERE `NO` = %i', $SESSION->NoMember());
$userGrade = $member['GRADE'];
$notice = $db->queryFirstField('SELECT `NOTICE` FROM `SYSTEM` WHERE `NO`=1');
$userGrade = $SESSION->getGrade();
?>
<!DOCTYPE html>
<html>
@@ -44,7 +43,7 @@ $userGrade = $member['GRADE'];
<body>
<?php include("manage".W."Frame.php"); ?>
<?php
if($member['GRADE'] >= 6) {
if($userGrade >= 6) {
include('member/Frame.php');
}
?>
@@ -53,11 +52,11 @@ if($member['GRADE'] >= 6) {
<?php
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">
<caption class="bg2 section_title with_border">서 버 선 택</caption>
+63 -62
View File
@@ -10,69 +10,70 @@ use utilphp\util as util;
$select = $_GET['select'];
$db = getRootDB();
$member = $db->queryFirstRow('SELECT `GRADE` FROM `MEMBER` WHERE `no` = %i', $SESSION->NoMember());
if($member['GRADE'] < 6) {
$response['result'] = 'FAIL';
$response['msg'] = '운영자 권한이 없습니다.';
} else {
$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';
$userGrade = $SESSION->getGrade();
if($userGrade < 6) {
returnJson([
'result'=>'FAIL',
'msg'=>'운영자 권한이 없습니다.'
]);
}
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);