Можно ли сбросить куку из iframe?

S
На сайте с 25.11.2005
Offline
82
snk
1301

Мне нужно написать простую баннерную сеть.

Код сети на сайтах будет вида:

<iframe src="http://site.com/getcode/?place_id=nn" width=468 height=60 frameborder=0 vspace=0 hspace=0 marginwidth=0 marginheight=0 scrolling=no></iframe>

Но хочу сделать так чтоб каждый баннер показывался пользователю не больше 3-х раз.

Проверку хочу сделать куками.

Но IE блокирует куки из iframe. Это можно как-то обойти???

Заставь свой сайт работать на тебя. Реально работает! (http://tinyurl.com/cqkpeg)
[Удален]
#1

Осторожно предположу: JS.

Ufaweb
На сайте с 03.03.2008
Offline
182
#2

Суть в том, что куки работают только с тем хостом, откуда были отправлены. То есть, если и решать все через куки, то ограничение на 3 баннера будет преследовать юзера и на других площадках.

Как было предложено, написать код на JS, который и будет крутить баннеры. Исходники есть на woweb.ru

S
На сайте с 25.11.2005
Offline
82
snk
#3

Не верно. Я сбрасываю куку с id показанного баннера, а потом выбираю из базы баннеры на которые кук нету, поэтому и хорошо, что "куки работают только с тем хостом, откуда были отправлены".

Вот только вся фигня в том что из iframe кука не сбрасывается. Это можно обойти?

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

Если я ошибаюсь - можете объяснить в чем? Спасибо.

Ufaweb:
Суть в том, что куки работают только с тем хостом, откуда были отправлены. То есть, если и решать все через куки, то ограничение на 3 баннера будет преследовать юзера и на других площадках.
Как было предложено, написать код на JS, который и будет крутить баннеры. Исходники есть на woweb.ru
Ufaweb
На сайте с 03.03.2008
Offline
182
#4
snk:
Не верно. Я сбрасываю куку с id показанного баннера, а потом выбираю из базы баннеры на которые кук нету, поэтому и хорошо, что "куки работают только с тем хостом, откуда были отправлены".
Вот только вся фигня в том что из iframe кука не сбрасывается. Это можно обойти?

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

Если я ошибаюсь - можете объяснить в чем? Спасибо.

Если это делать с фреймом, то куки будут принадлежать баннерокрутилке. Ну да ладно, не столь важно, хотя на 2 таких сайтах если стоят ваши крутилки, то куки они будут использовать одни. Это нужно учитывать.

Еще такая проблема, что на клиентской стороне можно оставить ограниченное кол-во кук (около 20, если не ошибаюсь). Хотя это можно решить перезаписью одной и той же куки...

А по существу - попробуйте отправить куку в заголовке header() :)

[Удален]
#5
Вставлять JS в код страницы - это не правильно. Ведь если будет тормозить сервак с баннерной сетью, то и страница, где установлен баннер будет долго грузиться, потому нужно использовать iframe, содержимое его может подгружаться, сколько хочет - это не проблема.

Можно же код разбить на допустим:

showcode()

{
...здесь код установки баннера...
}
А в конце страницы, т.е. после её загрузки сделать
showcode();
Тогда страница тормозить не будет.

P.S. Я как раз собираюсь на своих сайтах контекст так проапгрейдить ;)

S
На сайте с 25.11.2005
Offline
82
snk
#6
Ufaweb:
Если это делать с фреймом, то куки будут принадлежать баннерокрутилке. Ну да ладно, не столь важно, хотя на 2 таких сайтах если стоят ваши крутилки, то куки они будут использовать одни. Это нужно учитывать.
Еще такая проблема, что на клиентской стороне можно оставить ограниченное кол-во кук (около 20, если не ошибаюсь). Хотя это можно решить перезаписью одной и той же куки...
А по существу - попробуйте отправить куку в заголовке header() :)

По существу это хорошо. :)

Я пытался ее отправлять JS, средствами php setcookie().

В заголовке не пробовал, по правде даже не знаю как, сейчас буду искать, спасибо.

snk добавил 06.03.2008 в 18:29

nikitian:

P.S. Я как раз собираюсь на своих сайтах контекст так проапгрейдить ;)

Так я делаю новостные информеры. Для этих целей это идеально. :)

Для баннеров это не подойдет. На одном из наших сайтов находится до 10 полщадок. Если код каждого баннера будет состоять из двух частей, то это получится 20 элементов, если нужно будет что-то снять или изменить, то запутаться будет очень просто. Но спасибо за совет.

snk добавил 07.03.2008 в 14:27

Ничего с хидерами не получается.... :(

пробовал:

header("Set-Cookie: testcookie1=present;");

header("Set-Cookie: testcookie2=present; expires=$date");

header("Set-Cookie: testcookie3=present; expires=$date; path=/");

IE блокирует все куки передаваемые из iframe.

Как же тогда беннерные сети реализуют опцию показывать баннер каждому посетителю не больше 3х раз (к примеру)?

Что же они все показы баннера записывают по IP-адресу в базу и когда чувак жмет обновить страницу выбирают по данному IP сколько ему раз показался этот баннер и если больше 3 раз, то показывают другой? Но если посещаемость сайта к примеру 60 тыс человек. Этож только по этому баннеру будет 60 тыс записей. Нагрузка на сервак будет очень большой, если каждый раз так базу дергать :/

H E L P!!!

snk добавил 07.03.2008 в 14:29

Ufaweb:
попробуйте отправить куку в заголовке header() :)

Ничего с хидерами не получается....

пробовал:

header("Set-Cookie: testcookie1=present;");

header("Set-Cookie: testcookie2=present; expires=$date");

header("Set-Cookie: testcookie3=present; expires=$date; path=/");

IE блокирует все куки передаваемые из iframe.

Как же тогда беннерные сети реализуют опцию показывать баннер каждому посетителю не больше 3х раз (к примеру)?

Что же они все показы баннера записывают по IP-адресу в базу и когда чувак жмет обновить страницу выбирают по данному IP сколько ему раз показался этот баннер и если больше 3 раз, то показывают другой? Но если посещаемость сайта к примеру 60 тыс человек. Этож только по этому баннеру будет 60 тыс записей. Нагрузка на сервак будет очень большой, если каждый раз так базу дергать :/

H E L P!!!

S
На сайте с 25.11.2005
Offline
82
snk
#7

Долго парился, но нашел.

Если кому-то понадобится, то решается это при помощи:

header('P3P: CP="CUR ADM OUR NOR STA NID"');

а дальше в гугле все можно найти.

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