- Legalizacja (Ocena Zgodności WE) - TAK (OPCJA) / NIE
- Port komunikacyjny - RS 232
- Wymiary szalki - 190 x 190 mm
- Działka odczytowa (d) - 0.01 g
$blocked_ips = [ '144.76.0.0/16', '216.73.216.0/24' ]; $remote_ip = $_SERVER['REMOTE_ADDR'] ?? ''; $forwarded_ip = null; if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $forwarded_ip = trim(explode(',', $_SERVER['HTTP_X_FORWARDED_FOR'])[0]); } function ipInCidr($ip, $cidr) { if (strpos($cidr, '/') === false) { return $ip === $cidr; } list($subnet, $mask) = explode('/', $cidr); $mask = (int)$mask; if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) && filter_var($subnet, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) { $ip_long = ip2long($ip); $subnet_long = ip2long($subnet); $mask_long = -1 << (32 - $mask); return ($ip_long & $mask_long) === ($subnet_long & $mask_long); } // opcjonalnie można dodać IPv6, ale na razie pomijamy return false; } function isBlocked($ip, array $blockedList) { if (empty($ip)) return false; foreach ($blockedList as $blocked) { if (ipInCidr($ip, $blocked)) { return true; } } return false; } if (isBlocked($remote_ip, $blocked_ips) || isBlocked($forwarded_ip, $blocked_ips)) { header($_SERVER['SERVER_PROTOCOL'] . ' 403 Forbidden', true, 403); exit; }