Иван 76
Новичок
Не работают cookie через img...
Здравствуйте.
Пишу рейтинг сайтов, используя графический счетчик.
В рейтинге будет простенькая статистика по сессиям (точка входа, откуда пришли...)
Для определения нового посетителя, задумано каждому новому устанавливать опознавательный флаг в cookie, если флага нет - значит новый.
скрипт такой :
if($_COOKIE['top_sess'] != "yes"){
$agent = $_SERVER['HTTP_USER_AGENT'];
//$uri = $_SERVER['REQUEST_URI'];
$user = $_SERVER['PHP_AUTH_USER'];
$host = $_SERVER['REMOTE_HOST'];
$uri = $_SERVER['HTTP_REFERER'];
$dtime = date('r');
if(getenv("HTTP_CLIENT_IP")) {
$ip = getenv("HTTP_CLIENT_IP");
} elseif(getenv("HTTP_X_FORWARDED_FOR")) {
$ip = getenv("HTTP_X_FORWARDED_FOR");
} else {
$ip = getenv("REMOTE_ADDR");
}
if($ref == ""){
$ref = "None";
}
if($user == ""){
$user = "None";
}
if($host == ""){
$host = "None";
}
$entry_line = "$dtime|$ip|$host |$agent|$uri|$ref\n";
if ($a_date[0]==$date) { $fp = fopen("./inc/stat/stat_".$sid.".dat", "a"); }
else { $fp = fopen("./inc/stat/stat_".$sid.".dat", "w"); }
fputs($fp, $entry_line);
fclose($fp);
@chmod("./inc/stat/stat_".$sid.".dat", 0666);
setcookie("top_sess", "yes", time()+3600);
}
Однако, флаг устанавливается только в том случае, если счетчик включен в страницу моего же сайта.
Установив счетчик на другой сайт - флаг не устанавливается.
Помогите...
Здравствуйте.
Пишу рейтинг сайтов, используя графический счетчик.
В рейтинге будет простенькая статистика по сессиям (точка входа, откуда пришли...)
Для определения нового посетителя, задумано каждому новому устанавливать опознавательный флаг в cookie, если флага нет - значит новый.
скрипт такой :
if($_COOKIE['top_sess'] != "yes"){
$agent = $_SERVER['HTTP_USER_AGENT'];
//$uri = $_SERVER['REQUEST_URI'];
$user = $_SERVER['PHP_AUTH_USER'];
$host = $_SERVER['REMOTE_HOST'];
$uri = $_SERVER['HTTP_REFERER'];
$dtime = date('r');
if(getenv("HTTP_CLIENT_IP")) {
$ip = getenv("HTTP_CLIENT_IP");
} elseif(getenv("HTTP_X_FORWARDED_FOR")) {
$ip = getenv("HTTP_X_FORWARDED_FOR");
} else {
$ip = getenv("REMOTE_ADDR");
}
if($ref == ""){
$ref = "None";
}
if($user == ""){
$user = "None";
}
if($host == ""){
$host = "None";
}
$entry_line = "$dtime|$ip|$host |$agent|$uri|$ref\n";
if ($a_date[0]==$date) { $fp = fopen("./inc/stat/stat_".$sid.".dat", "a"); }
else { $fp = fopen("./inc/stat/stat_".$sid.".dat", "w"); }
fputs($fp, $entry_line);
fclose($fp);
@chmod("./inc/stat/stat_".$sid.".dat", 0666);
setcookie("top_sess", "yes", time()+3600);
}
Однако, флаг устанавливается только в том случае, если счетчик включен в страницу моего же сайта.
Установив счетчик на другой сайт - флаг не устанавливается.
Помогите...