Hàm kiểm tra xem địa chỉ IP version 4 (TCP/IPv4) và version 6 (TCP/IPv6) có hợp lệ hay không trong php Để kiểm tra 1 địa chỉ ip truyền vào xem địa chỉ đó có phải là địa chỉ ip hay không bạn dùng ham sau: Mã: filter_var('Địa_chi_IPv4',FILTER_VALIDATE_IP,FILTER_FLAG_IPV4); Mã: filter_var('Địa_chi_IPv6',FILTER_VALIDATE_IP,FILTER_FLAG_IPV6); Hàm trả về giá trị TRUE(đúng là địa chỉ ip) hoặc FALSE(Sai không phải địa chỉ ip) Ví Dụ: PHP: //Để kiểm tra nhanh xem địa chỉ ip vừa nhập có phải là địa chỉ ip v4 hay v6 hay không thì dùng lệnh$ip="212h.121.dkdsj.9832";if(filter_var($ip,FILTER_VALIDATE_IP)){ echo "Là IP hợp lệ";}else{ echo "Không phải là IP";}//Kết quả: Không phải là IP$nivp4='192.168.1.1'; // IPv4 nội bộ nằm trong khoảng 192.168.1.1 -> 192.168.1.225$ipv4='123.12.23.34'; //IPv4 Public//Kiểm tra địa chỉ ip nhập vào có phải là địa chỉ IPv4 hay không?if(filter_var($nipv4,FILTER_VALIDATE_IP,FILTER_FLAG_IPV4)){ echo 'Địa chỉ ip vừa nhập là IPv4';}else{ echo 'Địa chỉ ip vừa nhập không phải là IPv4';}//Kết quả: Địa chỉ ip vừa nhập là IPv4 và là địa chỉ ip nội bộ//Kiểm tra địa chỉ ip nhập vào có phải là ip nội bộ hay không?if(filter_var($ipv4,FILTER_VALIDATE_IP,FILTER_FLAG_IPV4 | FILTER_FLAG_NO_PRIV_RANGE)){ echo "Không phải là địa chỉ ip nội bộ";}else{ echo "Là địa chỉ ip nội bộ";}//Kết quả: Không phải là địa chỉ ip nội bộ vì ip nội bộ nằm trong khoảng 192.168.1.1 -> 192.168.1.225 còn ip nhập là 123.12.23.34//Kiểm tra ip nhập vào có phải là ip IPv6 hay không?$ipv6="2222:0FC7::2005:4F33:0ABD:FAFA"; // Trong ipv6 :: thay thế cho 4 số 0 liên tiếp VD: 0:0:0:0if(filter_var($ipv6,FILTER_VALIDATE_IP,FILTER_FLAG_IPV6)){ echo "Là địa chỉ ipv6";}else{ echo "Không là địa chỉ ipv6";}// Kết quả: Là địa chỉ ipv6 Ngoài ra các bạn có thể xem thêm về hàm này tại URL dưới Mã: http://php.net/manual/en/filter.filters.validate.php