상위 문서 안내를 일반 내부 링크로 교정 |
본문 관련 용어에 내부 링크 3개 추가 및 매뉴얼 공통 둘러보기 연결 |
||
| 1번째 줄: | 1번째 줄: | ||
상위 문서: [[라이믹스/매뉴얼]] | 상위 문서: [[라이믹스/매뉴얼]] | ||
== 개요 == | == 개요 == | ||
[[라이믹스]]의 관리자 로그인 허용·금지 IP, 디버그 허용 IP, 사이트 잠금의 접근 허용 IP, 스팸필터의 IP 차단 등에서 사용하는 주소·대역 표기 방식이다. [[XpressEngine|XE]]에서 이어진 일부 기능은 모든 형식을 지원하지 않을 수 있으므로 해당 설정의 설명을 확인한다. | |||
== 표기 형식 == | == 표기 형식 == | ||
| 25번째 줄: | 25번째 줄: | ||
== 단일 IP 검증 == | == 단일 IP 검증 == | ||
공식 매뉴얼은 정규표현식을 직접 작성하는 대신 | 공식 매뉴얼은 정규표현식을 직접 작성하는 대신 [[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로 신뢰해서는 안 된다.
같이 보기
- 라이믹스/매뉴얼/라이믹스 프레임워크 — IpFilter, RX_CLIENT_IP
- 라이믹스/보안
출처
이 문서는 라이믹스 공식 매뉴얼을 바탕으로 설명과 예제를 정리하였다. 공식 매뉴얼은 CC BY-SA 4.0으로 배포된다. 원문의 기여 이력은 rhymix-docs 저장소에서 확인할 수 있다.
| 라이믹스 · 설치·운영·개발 매뉴얼 둘러보기 | |
|---|---|
| 설치·이전 | 설치 환경 · 설치 · 업데이트 · XE에서 이전 · 호환성 점검 · nginx · 도메인 변경 |
| 운영 | 백업·복원 · 업로드·서버 진단 · 캐시·성능 · Crontab · 보안 · 릴리즈 노트 |
| 개발 | 확장 기능 제작 · 애드온 · DB 연산자 · 라우터 · 이벤트 · 개발 보안 |
| 테마·API | 테마 제작 · 템플릿 v1 · 템플릿 v2 · 프레임워크 · PHP 전역 함수 · JS 라이브러리 · JS 함수 · 레거시 JS 함수 · String 확장 |
| 기여·연동 | 이슈·PR · 코딩 규칙 · 라이선스 · IP 대역 · 시간대 · 포토스와이프 · 모바일 푸시 · 네모의 꿈 색상 |