자주자주 공지를 확인하세요!

라이믹스/매뉴얼/IP 주소 및 대역 표기 방식: 두 판 사이의 차이

Gaon12 (토론 / 기여)
상위 문서 안내를 일반 내부 링크로 교정
Gaon12 (토론 / 기여)
본문 관련 용어에 내부 링크 3개 추가 및 매뉴얼 공통 둘러보기 연결
1번째 줄: 1번째 줄:
상위 문서: [[라이믹스/매뉴얼]]
상위 문서: [[라이믹스/매뉴얼]]
== 개요 ==
== 개요 ==
라이믹스의 관리자 로그인 허용·금지 IP, 디버그 허용 IP, 사이트 잠금의 접근 허용 IP, 스팸필터의 IP 차단 등에서 사용하는 주소·대역 표기 방식이다. XE에서 이어진 일부 기능은 모든 형식을 지원하지 않을 수 있으므로 해당 설정의 설명을 확인한다.
[[라이믹스]]의 관리자 로그인 허용·금지 IP, 디버그 허용 IP, 사이트 잠금의 접근 허용 IP, 스팸필터의 IP 차단 등에서 사용하는 주소·대역 표기 방식이다. [[XpressEngine|XE]]에서 이어진 일부 기능은 모든 형식을 지원하지 않을 수 있으므로 해당 설정의 설명을 확인한다.


== 표기 형식 ==
== 표기 형식 ==
25번째 줄: 25번째 줄:


== 단일 IP 검증 ==
== 단일 IP 검증 ==
공식 매뉴얼은 정규표현식을 직접 작성하는 대신 PHP의 <code>filter_var()</code>를 사용하도록 안내한다. 성공 시 주소 문자열, 실패 시 <code>false</code>가 반환되므로 엄격하게 비교한다.
공식 매뉴얼은 정규표현식을 직접 작성하는 대신 [[PHP]]의 <code>filter_var()</code>를 사용하도록 안내한다. 성공 시 주소 문자열, 실패 시 <code>false</code>가 반환되므로 엄격하게 비교한다.


<syntaxhighlight lang="php">
<syntaxhighlight lang="php">
54번째 줄: 54번째 줄:
== 출처 ==
== 출처 ==
이 문서는 [https://rhymix.org/manual/misc/ipfilter 라이믹스 공식 매뉴얼]을 바탕으로 설명과 예제를 정리하였다. 공식 매뉴얼은 CC BY-SA 4.0으로 배포된다. 원문의 기여 이력은 [https://github.com/rhymix/rhymix-docs rhymix-docs 저장소]에서 확인할 수 있다.
이 문서는 [https://rhymix.org/manual/misc/ipfilter 라이믹스 공식 매뉴얼]을 바탕으로 설명과 예제를 정리하였다. 공식 매뉴얼은 CC BY-SA 4.0으로 배포된다. 원문의 기여 이력은 [https://github.com/rhymix/rhymix-docs rhymix-docs 저장소]에서 확인할 수 있다.
{{라이믹스 매뉴얼}}


[[분류:라이믹스]]
[[분류:라이믹스]]
[[분류:라이믹스/매뉴얼]]
[[분류:라이믹스/매뉴얼]]

2026년 10월 17일 (토) 08:50 판

상위 문서: 라이믹스/매뉴얼

개요

라이믹스의 관리자 로그인 허용·금지 IP, 디버그 허용 IP, 사이트 잠금의 접근 허용 IP, 스팸필터의 IP 차단 등에서 사용하는 주소·대역 표기 방식이다. XE에서 이어진 일부 기능은 모든 형식을 지원하지 않을 수 있으므로 해당 설정의 설명을 확인한다.

표기 형식

종류 예 의미
IPv4 단일 주소 192.168.122.96 주소 하나
IPv4 와일드카드 192.168.122.* 마지막 구간 전체
IPv4 와일드카드 축약 192.168.* 뒤쪽 구간 전체
IPv4 시작-끝 192.168.122.0-192.168.122.255 지정한 범위
IPv4 CIDR 192.168.216.0/24 접두 길이 24비트인 대역
IPv6 단일 주소 2001:2300::ffff:0, ::1 축약 표기 가능
IPv6 CIDR 2001:2300::/64, ::1/128 접두 길이로 대역 지정

IPv6는 연속한 0 구간을 ::로 줄일 수 있어 문자열 모양만으로 비교하면 안 된다. 한 주소와 그 주소를 포함하는 대역은 서로 다른 입력 형식이다.

단일 IP 검증

공식 매뉴얼은 정규표현식을 직접 작성하는 대신 PHP의 filter_var()를 사용하도록 안내한다. 성공 시 주소 문자열, 실패 시 false가 반환되므로 엄격하게 비교한다.

$is_valid = filter_var($ip, FILTER_VALIDATE_IP) !== false;
$is_ipv4 = filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) !== false;
$is_ipv6 = filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) !== false;

대역 검증과 포함 여부

라이믹스의 Rhymix\Framework\Filters\IpFilter를 사용한다.

use Rhymix\Framework\Filters\IpFilter;

$is_valid = IpFilter::validateRange('192.168.122.0/24');
$included = IpFilter::inRange('192.168.122.96', '192.168.122.0/24');

여러 대역은 validateRanges()와 inRanges()를 사용한다. 전자는 모든 대역이 유효해야 참이고, 후자는 하나 이상의 대역에 주소가 포함되면 참이다. 실제 인자 형태는 사용 중인 버전의 클래스 명세를 확인한다.

운영 시 확인

허용 목록을 바꾸기 전 현재 관리자의 접속 IP가 포함되는지 확인한다. 역방향 프록시나 CDN을 사용한다면 라이믹스가 인식한 클라이언트 IP가 실제 접속자와 일치하는지도 점검한다. HTTP 헤더 값을 검증 없이 접속자 IP로 신뢰해서는 안 된다.

같이 보기

출처

최근 바뀜

더 보기