Для определенного ip в экран нужно выводить техническую инфу о странице - как правильно?

P
На сайте с 06.01.2009
Offline
562
393

Добрый день. Прошу сильно не пинать любителя покодить кривыми руками))

Для определенного ip в экран нужно выводить техническую инфу о странице.

Есть такая реализация, но есть баг - если устройство подключить к другому ip, то сессия то все равно (оно и понятно) сохраняется и данные выводятся. Как это можно пофиксить? Спасибо


if (!isset($_SESSION['ip'])) {
$path = $_SERVER['DOCUMENT_ROOT'];
$path .= "/function/ip.php";
include_once($path);
$ipip = getRealIpAddr(); //для опред и записи, для наших офисн айпи
if ($ipip=='xxx.xxx.xxx.xx') { $_SESSION['ip'] = "office";} else {$_SESSION['ip'] = "no"; }
}

Ну и далее проверка, если нужная сессия, выводим техничку в экран.

Спасибо заранее.

IL
На сайте с 20.04.2007
Offline
418
#1

if ($_SERVER['REMOTE_ADDR'] == 'xxx.xxx.xxx.xxx')  { 

/// ...
}
... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
P
На сайте с 06.01.2009
Offline
562
#2

ivan-lev, спасибо.

Но! При заходе на сайт с моб устройства но не через моб интернет, а через тот же ip, не верно определяется $_SERVER['REMOTE_ADDR'], поэтому реализовано вот так получение ip


function getRealIpAddr()
{
if (!empty($_SERVER['HTTP_CLIENT_IP']))
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}

Скажите, пож-та, не будет ли это сильно нагружать сервак? Ведь при каждой перезагрузке страницы вызывается эта функция, именно поэтому хотел писать в сессию или куки инфу , чтобы дальше не дергать функцию.

Спасибо

Samail
На сайте с 10.05.2007
Offline
336
#3
postavkin:
не будет ли это сильно нагружать сервак?

Не будет нагружать.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий