관리자 권한 문맥 오염 계열 접근권한 점검 및 보완

게시판/그룹 관리자 문맥(bo_table)으로 타 회원 콘텐츠에 접근·변조되지
않도록 $is_admin 판정을 최고관리자(super) 기준으로 통일.
- bbs/poll_etc_update.php : 설문 기타의견 삭제 소유권
- shop/itemqaformupdate.php : 상품문의 수정/삭제 소유권
- shop/itemuseformupdate.php : 사용후기 삭제 소유권
- bbs/current_connect.php : 게스트 IP 원본 표기
- shop/kakaopay/kakaopay_cancel.php : TID 기반 결제취소

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
(cherry picked from commit 46a005129464d1fbab518fcb70bf524b258e65fc)
This commit is contained in:
thisgun
2026-08-24 07:44:22 +00:00
parent b3aa81c74a
commit c450f8bbde
5 changed files with 7 additions and 6 deletions
+1 -1
View File
@@ -18,7 +18,7 @@ for ($i=0; $row=sql_fetch_array($result); $i++) {
if ($row['mb_id']) {
$list[$i]['name'] = get_sideview($row['mb_id'], cut_str($row['mb_nick'], $config['cf_cut_name']), $row['mb_email'], $row['mb_homepage']);
} else {
if ($is_admin)
if ($is_admin === 'super')
$list[$i]['name'] = $row['lo_ip'];
else
$list[$i]['name'] = preg_replace("/([0-9]+).([0-9]+).([0-9]+).([0-9]+)/", G5_IP_DISPLAY, $row['lo_ip']);
+2 -1
View File
@@ -61,7 +61,8 @@ else if ($w == 'd')
if ($member['mb_id'] || $is_admin == 'super')
{
$sql = " delete from {$g5['poll_etc_table']} where pc_id = '{$pc_id}' ";
if (!$is_admin)
// 최고관리자가 아니면 본인 기타의견만 삭제 (게시판/그룹 관리자 문맥으로 우회 불가)
if ($is_admin !== 'super')
$sql .= " and mb_id = '{$member['mb_id']}' ";
sql_query($sql);
}
+2 -2
View File
@@ -57,7 +57,7 @@ if ($w == "")
}
else if ($w == "u")
{
if (!$is_admin)
if ($is_admin !== 'super')
{
$sql = " select count(*) as cnt from {$g5['g5_shop_item_qa_table']} where mb_id = '{$member['mb_id']}' and iq_id = '$iq_id' ";
$row = sql_fetch($sql);
@@ -86,7 +86,7 @@ else if ($w == "u")
}
else if ($w == "d")
{
if (!$is_admin)
if ($is_admin !== 'super')
{
$sql = " select iq_answer from {$g5['g5_shop_item_qa_table']} where mb_id = '{$member['mb_id']}' and iq_id = '$iq_id' ";
$row = sql_fetch($sql);
+1 -1
View File
@@ -91,7 +91,7 @@ else if ($w == "u")
}
else if ($w == "d")
{
if (!$is_admin)
if ($is_admin !== 'super')
{
$sql = " select count(*) as cnt from {$g5['g5_shop_item_use_table']} where mb_id = '{$member['mb_id']}' and is_id = '$is_id' ";
$row = sql_fetch($sql);
+1 -1
View File
@@ -50,7 +50,7 @@ if($cancelFlag == "true")
$db_check = 1;
$cancel_msg = "DB FAIL";
if( $is_admin ){
if( $is_admin === 'super' ){
$tmp = sql_fetch("select * from `{$g5['g5_shop_order_table']}` where od_tno = '".trim($_REQUEST['TID'])."' ");
if( $tmp['od_pg'] === 'KAKAOPAY' ){