채택완료

현재기능에서 회원id를 추가하고싶어요

2021-06-30 (수) 17:41:23 2,094

Copy
// 접근 허용 IP 리스트
$ok_ip_addr=array(
"123.45.678.901",
"50.135.40.11"
);
// 해당 게시판 테이블에 접근 허용 IP가 아니라면 돌려보냄
if($bo_table =='tool') {
 $key = in_array($_SERVER[REMOTE_ADDR],$ok_ip_addr);
 if(!$key) {
  echo "차단 됨";
  
  exit;
 }
}
 

위 구문을 몇몇 회원 A,B,C 만 해당되게 하고싶고, 테이블도 tool 만아니라 여러 테이블 추가하려면 어떻게하나요? db로 활용법은 잘 몰라서 여쭤봅니다..

|

답변 2개 / 댓글 5개

채택된 답변
+20 포인트
Copy
// 접근 허용 IP 리스트
$ok_ip_addr=array(
"123.45.678.901",
"50.135.40.11"
);

 

$ok_id = array(
"A",
"B",
"C"
);

 

$ok_board = array(
"tool",
"tool2",
"tool3"
);

 

// 해당 게시판 테이블에 접근 허용 IP가 아니라면 돌려보냄
if (in_array($member['mb_id'], $ok_id) && in_array($bo_table, $ok_board)) {
 $key = in_array($_SERVER[REMOTE_ADDR],$ok_ip_addr);
 if(!$key) {
  echo "차단 됨";
  
  exit;
 }
}

답변에 대한 댓글 3개

혹시 위 문장은 어느파일에다가 쓰면될까요?
설명 감사합니다 잘되네요!
보통 /extend/user.config.php 파일에 작성하면 됩니다.
2021-06-30 (수) 19:39:26

이전 질문에도 댓글을 달아 드렸듯이

메뉴 부분부터 살펴 봐야 합니다.

thumb-3487075365_1625049306.1866_730x235.png

게시판 그룹이라는 것은 여기서 쓸 수 없고

g5_menu 테이블에 컬럼 하나(flag)를 추가해서

flag가 1이면 추가 조건(ip,id 등등)이 맞는 것만

select로 가져 오도록 처리해야 합니다.

답변에 대한 댓글 2개

config.php 등에서
$ip = ['123.123.10.11','12.11.11.11']; // 회사내 허용할아이피
$user = ['test123','test1010']; // 특정회원
지정하고


"lib/get_data.lib.php"에
function get_menu_db($use_mobile=0, $is_cache=false){
global $g5;
함수에서
ip와 id가 조건에 부합하면
$sql = " select *
from {$g5['menu_table']}
where $where
and length(me_code) = '2'
order by me_order, me_id ";
부합하지 않으면
$sql = " select *
from {$g5['menu_table']}
where $where and flag='0'
and length(me_code) = '2'
order by me_order, me_id ";

이런 식으로 할 수 있겠습니다.
친절한 설명 감사합니다! 윗분께서 먼저 해답을 주셔서 채택못드렸지만 참고하겠습니다!

답변을 작성하려면 로그인이 필요합니다.