$_SERVER['REMOTE_ADDR]
, $_SERVER['HTTP_X_FORWARDED_FOR']
및 $_SERVER['CLIENT_IP']
에 의해 제공되는 IP 주소를 사용하는 많은 프로젝트가 있습니다.
IPV4 주소는 항상 같은 형식으로 수신하기 때문에 쉽게 일치합니다. 앞에 0이없는 4 개의 정수와 점 .
으로 구분됩니다.
반면 IPV6 주소는 압축 될 수 있습니다. 예 : FF01 : 0 : 0 : 0 : 0 : 0 : 0 : 101 -> FF01 :: 101
이 문제를 조사 중이지만 관련성이 없으므로 사용자의 경험을 요청합니다. . $_SERVER['REMOTE_ADDR]
은 표준을 사용하고 있습니까? 항상 압축되거나 압축되지 않은 상태로 수신 될 것이라고 가정하는 것이 안전합니까?
테스트를 시도하기 전에 모든 IPV6 문자열을 압축해야합니까?
참고 :
이상적으로는 데이터베이스/소스 코드의 가독성을 개선하고 쉽게 IP 범위 매칭을 할 수 있도록, IPV6 오히려 바이너리 구조보다는 문자열로 주소를 처리하고 싶습니다.
저는 IPv6로 작업하지는 않았지만, 조작하려는 모든 주소를 inet_pton()해야한다고 생각합니다. –
@ ÁlvaroG.Vicario 코멘트 주셔서 감사 드리며,이 기능을 확실히 살펴 보겠습니다. 하지만 가능한 경우 문자열 표기법을 사용하고 싶습니다. – Tchoupi