function is_known_ip($ip) { // updated: 2026-03-04 // Convert IP string to number if (is_string($ip)) { $bytes = explode('.', $ip); $ip = 0; foreach ($bytes as $n) { $ip <<= 8; $ip |= (int)$n; } } // Check rules switch ($ip & 0b0_11111111_11111111_11100000_00000000) { // mask: 255.255.224.0 case 0b0_01000101_10101100_01100000_00000000: // ip: 69.172.96.0 return true; } switch ($ip & 0b0_11111111_11111111_11110000_00000000) { // mask: 255.255.240.0 case 0b0_11000001_00101011_11000000_00000000: // ip: 193.43.192.0 return true; } switch ($ip & 0b0_11111111_11111111_11111111_00000000) { // mask: 255.255.255.0 case 0b0_10111100_11010010_11101111_00000000: // ip: 188.210.239.0 return true; } switch ($ip & 0b0_11111111_11111111_11111111_11100000) { // mask: 255.255.255.224 case 0b0_01001110_00000110_01000011_10000000: // ip: 78.6.67.128 return true; } switch ($ip & 0b0_11111111_11111111_11111111_11110000) { // mask: 255.255.255.240 case 0b0_10010000_00110000_11000001_00010000: // ip: 144.48.193.16 case 0b0_10010000_00110000_11000001_10010000: // ip: 144.48.193.144 return true; } switch ($ip & 0b0_11111111_11111111_11111111_11111000) { // mask: 255.255.255.248 case 0b0_01001110_00000101_01001101_01100000: // ip: 78.5.77.96 return true; } switch ($ip & 0b0_11111111_11111111_11111111_11111111) { // mask: 255.255.255.255 case 0b0_00000101_01100011_11000001_11100010: // ip: 5.99.193.226 case 0b0_00001111_10100000_00001011_11001000: // ip: 15.160.11.200 case 0b0_00001111_10100000_11111010_10011110: // ip: 15.160.250.158 case 0b0_00001111_10100001_10100101_11110101: // ip: 15.161.165.245 case 0b0_00010010_01100110_00101001_11100101: // ip: 18.102.41.229 case 0b0_10000110_11010101_00110001_10111010: // ip: 134.213.49.186 case 0b0_10000110_11010101_11011011_01011101: // ip: 134.213.219.93 case 0b0_10000110_11010101_11011110_01010111: // ip: 134.213.222.87 case 0b0_10100010_00001101_10011010_10101011: // ip: 162.13.154.171 case 0b0_10110010_00100001_01011100_01100010: // ip: 178.33.92.98 case 0b0_11010100_01001101_01011111_00100010: // ip: 212.77.95.34 case 0b0_11010100_01001101_01011111_00100011: // ip: 212.77.95.35 return true; } return false; }