Tôi có nhiều dự án có chức năng dựa trên địa chỉ IP được cung cấp bởi $_SERVER['REMOTE_ADDR]
, $_SERVER['HTTP_X_FORWARDED_FOR']
và $_SERVER['CLIENT_IP']
.
Địa chỉ IPV4 rất dễ khớp vì chúng tôi luôn nhận được chúng ở cùng định dạng: 4 số nguyên không có số 0 đứng đầu, được phân tách bằng dấu chấm .
.
Trong khi địa chỉ IPV6 có thể được nén. Ví dụ: FF01: 0: 0: 0: 0: 0: 0: 101 -> FF01 :: 101
Tôi đã nghiên cứu vấn đề này nhưng chưa tìm thấy bất kỳ điều gì phù hợp, vì vậy tôi yêu cầu bạn trải nghiệm . $_SERVER['REMOTE_ADDR]
có sử dụng tiêu chuẩn không? Có an toàn để giả định rằng nó sẽ luôn nhận được dưới dạng nén hoặc không nén?
Hoặc tôi có nên nén tất cả chuỗi IPV6 của mình trước khi thử thử không?
Lưu ý:
Lý tưởng nhất là tôi muốn để xử lý địa chỉ IPv6 như dây đàn chứ không phải là cấu trúc nhị phân, để cải thiện khả năng đọc trong mã/Nguồn Cơ sở dữ liệu và cho phép dễ dàng hơn phạm vi phù hợp với IP.
Tôi chưa làm việc với IPv6 nhưng tôi có ấn tượng rằng bạn nên 'inet_pton()' bất kỳ địa chỉ nào bạn muốn thao tác. –
@ ÁlvaroG.Vicario Cảm ơn bạn đã bình luận, tôi chắc chắn sẽ xem xét chức năng này. Nhưng tôi muốn giữ ký hiệu chuỗi nếu có thể. – Tchoupi