점검 소스를 이용중인데 2개 이상의 아이피 설정이 가능한가요?

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
점검 소스를 이용중인데 2개 이상의 아이피 설정이 가능한가요?

QA

점검 소스를 이용중인데 2개 이상의 아이피 설정이 가능한가요?

본문

<?php

if($_SERVER['REMOTE_ADDR'] != '아이피주소') {

  header("Location: /maintenance.php");

  exit;

?>

 

 

안녕하세요 현재 위 점검소스를 이용중입니다.

만약에 111.111.111.111이라는 아이피와 222.222.222.222라는 아이피만 접근할 수 있도록 설정을 어떻게 해야할까요?

 

<?php

if($_SERVER['REMOTE_ADDR'] != '111.111.111.111' , '222.222.222.222' ) {

  header("Location: /maintenance.php");

  exit;

?>

 

이런식으로 구분하는 방법좀 알고 싶습니다.

관리자 페이지에서 접근 ip는 아이피가 종종 변경되기 때문에 head 에서 고치고 싶습니다.

이 질문에 댓글 쓰기 :

답변 2

기초 + 조건 뒤집기 팁. 참고로 추가합니다.


if ( 참 || 참 ) {
  // 접속 허용
} else {
  // 접속 비허용
}
// 참↔거짓, ||(OR)↔&&(AND) ... 그대로 뒤집으면 아래처럼 됩니다.
// 이 조건 뒤집기를 알아두면 피가 되고 살이 됩니다.
if ( 거짓 && 거짓 ) {
  // 접속 비허용
} else {
  // 접속 허용
}
 
// 질문의 코드에 아이피를 하나 더 추가하려면, 아래처럼 조건을 추가해주면 됩니다.
// 코드가 길어지니, in_array() 함수를 이용하는 것이 훨씬 간단하겠죠? '-');
if ( $_SERVER['REMOTE_ADDR']=='아이피1' || $_SERVER['REMOTE_ADDR']=='아이피2' ) {
  // 접속 허용
} else {
  // 접속 비허용
}
if ( $_SERVER['REMOTE_ADDR']!='아이피1' && $_SERVER['REMOTE_ADDR']!='아이피2' ) {
  // 접속 비허용
} else {
  // 접속 허용
}
 
// 참고로 swich()문을 이용한 처리 방법
switch ( $_SERVER['REMOTE_ADDR'] ) {
  case '아이피1':
  case '아이피2':
    // 접속 허용
    break;
  default:
    // 접속 비허용
}
 
// in_array()보다 빠른 방법 - 값이 많을 때 유용.
$allow_ip = array_fill_keys(['아이피1', '아이피2'], 0); // 0, '', 1 등 변수 설정만 되면 OK. (null 제외)
// 아래처럼 할당해도 됩니다.
// $allow_ip = [];
// $allow_ip['아이피1'] = 0;
// $allow_ip['아이피2'] = 0;
if ( isset($allow_ip[$_SERVER['REMOTE_ADDR']]) ) { // !isset()으로 하면, 허용/비허용 반대
  // 접속 허용
} else {
  // 접속 비허용
}
 
// 아참! 접속 비허용 부분에 질문의 주소 이동 코드 넣으면 끝. 기타 생략.

 

+ switch

- https://www.php.net/manual/en/control-structures.switch.php

- http://docs.php.net/manual/kr/control-structures.switch.php

 

+ array_fill_keys()

- https://www.php.net/manual/en/function.array-fill-keys.php

 

+ isset()

 

- https://www.php.net/manual/en/function.isset.php

- http://docs.php.net/manual/kr/function.isset.php

 

+ PHP type comparison tables (PHP 자료형 비교표)

- https://www.php.net/manual/en/types.comparisons.php

- http://docs.php.net/manual/kr/types.comparisons.php

답변을 작성하시기 전에 로그인 해주세요.
전체 0
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT