Код (PHP): <?php $allowed = array( '127.0.0.1', '213.85.81.36', '111.22.33.4' ); if(!in_array($_SERVER['REMOTE_ADDR'], $allowed)) { echo('Извини, тебе сюда нельзя'); exit; } // ... echo('Спрятанное содержимое'); ?>
Для получения IP я использую вот эту функцию... Одного REMOTE_ADDR иногда мало Код (Text): /** * @static Получение IP-адреса * @return string - IPv4 */ function getIP() { $serverVars = array("HTTP_X_FORWARDED_FOR", "HTTP_X_FORWARDED", "HTTP_FORWARDED_FOR", "HTTP_FORWARDED", "HTTP_VIA", "HTTP_X_COMING_FROM", "HTTP_COMING_FROM", "HTTP_CLIENT_IP", "HTTP_XROXY_CONNECTION", "HTTP_PROXY_CONNECTION", "HTTP_USERAGENT_VIA"); foreach ($serverVars as $serverVar) { if (!empty($_SERVER) && !empty($_SERVER[$serverVar])) { $proxyIP = $_SERVER[$serverVar]; } elseif (!empty($_ENV) && isset($_ENV[$serverVar])) { $proxyIP = $_ENV[$serverVar]; } elseif (@getenv($serverVar)) { $proxyIP = getenv($serverVar); } } if (!empty($proxyIP)) { $isIP = preg_match('|^([0-9]{1,3}\.){3,3}[0-9]{1,3}|', $proxyIP, $regs); $long = ip2long($regs[0]); if ($isIP && (sizeof($regs) > 0) && $long != -1 && $long !== false) { return $regs[0]; } } return $_SERVER['REMOTE_ADDR']; } Она должна максимально правильно всё определять. Вдруг пригодится
Переменным $_SERVER['HTTP_*'] (всяким там $_SERVER['HTTP_X_FORWARDED_FOR']) - нельзя доверять. Они очень легко подделываются. Использовать их для разграничения прав небезопасно...
Косвенно то))) но к сути вопроса отношения не имеет. $_SERVER['REMOTE_ADDR'] - эта переменная просто определяет ip. sobachnik, как всегда спасибо, вроде то что нужно, нужно потестировать) Gold Dragon, спасибо, может и пригодится, отложу до лучших времен)))
Если у пользователя свой реальный статический ip ("белый", не динамический, и не общий на какую-то городскую сеть, например) - то вполне даже безопасно. Во всяком случае я не знаю, как можно подделать то, что будет в $_SERVER['REMOTE_ADDR'].
ты просто хотел чтобы за тебя сделали готовое решение. а $_SERVER['REMOTE_ADDR'] не то что косвенно, а единственное, что имеет отношение к делу.