Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Посоветуйте как правильно определить no_coockie
цитата
01/09/14 в 20:57
 Retox
Сделал

<?php
@setcookie("tcookie", "ok");
@$tcookie_s = $_COOKIE["tcookie"];
if ($tcookie_s == "ok")
{
//поддерживаются
}
?>

Но почему то на 1k человек 70% были выявлены как No cookie
Проверил в IE на дефолтных настройках блокирует сторонние куки, и тп.
Может есть какой то более мягкий способ ставить куки, который пропускают браузеры на средних уровнях конфеденциальности. Так как цель вылавливать только бoтов.

Всем спасибо за помощь smail54.gif )
Если скрипт чека дёргать через jquery, а так же возможно iframe или img - то он будет брать текущую куку корректно в случае когда нежелателен рефреш или промежуточный редирект.

Последний раз редактировалось: Retox (01/09/14 в 23:39), всего редактировалось 1 раз
цитата
01/09/14 в 21:06
 Nux
потому что то данный код будет работать только при повторной загрузке странички, вот эти 30% у тебя и делают второй заход(клик)

в сторону JavaScript смотри...
цитата
01/09/14 в 22:02
 Retox
Nux: спасибо за то что указал на ошибку!
Решение нашлось в виде дополнительного редиректа, на котором уже правильно выявляются пользователи с куками и без... За одно теперь понял как выявлять повторные клики, даже при изменённых IP сёрферов.

Последний раз редактировалось: Retox (01/09/14 в 22:05), всего редактировалось 1 раз
цитата
01/09/14 в 22:04
 Stek
Код:
<script>
document.cookie = "testing=cookies_enabled; path=/";
if(document.cookie.indexOf("testing=cookies_enabled") < 0)
{
    alert("Cookies disabled");
}
</script>


А с php твой код только по рефрешу страницы будет срабатывать.
цитата
01/09/14 в 23:34
 Retox
Stek: Спасибо icon_smile.gif) Вроде бы нашел способ без рефреша и дополнительного редиректа. При этом что бы была возможность передавать ID сёрфера без кук в базу.

1) Ставим куку в PHP скрипте и через jquery дёргаем скрипт чека, при этом передаём источник.

<?php
@setcookie("tcookie", "ok");
$str = <<< HTML_END
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script>
$.get('cookie_c.php', {data: 'source_555555'},  function(response) {
  console.log(response);
});
</script>
HTML_END;
echo $str;
?>


2) cookie_c.php чек и лог


<?php
@$tcookie_s = $_COOKIE["tcookie"];
$source = $_GET['data'];
if ($tcookie_s  != 'ok')
{
file_put_contents ('no_cookie.txt', $source);
}
?>


Эта страница в полной версии