0
<< предыдущая заметкаследующая заметка >>
19 октября 2011
Пост ненависти про сахар!

Черт побери, есть ли способ узнать, какого размера сахар в коробке прежде, чем ты ее купишь? Я экспериментировал, изучал торговые марки, сравнивал штрих-коды — бесполезно: практически во всех марках размер попила кусков не зависит ни от чего, а только от рабочей смены. Пришел пильщик Вася — напилил трехсантиметровые кубы. Пришла пильщица Валя — напилила кубики по сантиметру маникюрными ножницами. Безобразие! Как жить в этой стране попила?!

Шутка. А написать я хотел не об этом, конечно. Я тут провел эксперименты по вашим советам (и с вашим участием, только вы этот iframe 1x1, надеюсь, не заметили, разве что с Айпадов). Невидимая для глаза открывалась страница домена lleo.binoniq.net, которая грузила в себя еще два фрейма — dimon.binoniq.net и maxim.binoniq.net, изучала варианты доступа и установки кук, и отсылала аяксом результат на сервер для записи статистики. Итак, выяснились в общем случае такие правила:

1. Кука, установленная lleo.binoniq.net с областью «.binoniq.net», будет видна везде на домене (например, с maxim.binoniq.net).

2. Кука, установленная lleo.binoniq.net с областью «», будет видна только на lleo.binoniq.net, и не существует способа увидеть её с maxim.binoniq.net
Кстати, я с этим столкнулся еще несколько лет назад, но возможно, кому-то будет интересно узнать про эти старые грабли: встроенная функция PHP setcookie глючит, если нужны столь точные параметры. Гуглим заплатку под именем set_cookie, которая делает это через header('Set-Cookie: '...

3. lleo.binoniq.net, подгрузив в iframe maxim.binoniq.net, никогда не сможет увидеть его содержимое средствами JS без специальных плясок с обеих сторон. То есть, два домена движку не нужны, binoniq.ru зарегистрирован зря ;)

4. Чтобы lleo.binoniq.net, подгрузив в iframe dimon.binoniq.net, все-таки смог увидеть его содержимое средствами JS, нужно, чтобы оба (lleo и dimon) выполнили на своей странице команду включения общего домена document.domain='binoniq.net'; Примечание: даже если вместо lleo.binoniq.net фигурирует сам binoniq.net, и document.domain и так по умолчанию равен, то все равно нужно выполнить это присваивание, причем жестким образом (document.domain=document.domain у меня не сработало). Ну и конечно работает это только если домен реально общий. Разным сайтам доступа нет, как document.domain ни устанавливай. Впрочем, я не знаю, для чего это вообще могло бы понадобиться, разве что для моей системы сбора статистики.

Но, конечно же, любые теории разбиваются в тот момент, когда ты запускаешь сбор статистики. Потому что, каким бы жестким ни казалось правило, прочитанное в стандарте и проверенное лично, но на практике обязательно появится уникум с браузером (с виду вполне пристойным, не IE6), для которого это не сработало. Меньше суток в моем дневнике провисел следящий iframe, за это время в статистике binoniq.net отметилось 22877 посетителей, но из них 42 — с ошибкой. Ошибок было два типа: для lleo.binoniq.net не открылся на JS-доступ фрейм dimon.binoniq.net, и lleo.binoniq.net не удалось установить такую общую куку, которую смог бы увидеть dimon.binoniq.net (при том, что куки браузер устанавливает). Когда я лет пять назад проводил подобные исследования на разные темы (видны ли куки, отдаются ли куки и рефферер при запросе jpg и т.п.) подобные ошибки меня пугали и заставляли думать, что в этом мире четких правил нет. А сейчас я думаю — а ведь это 42 уникума на 22877, всего 0.18%. Хрен бы с ними:

[показать спрятанное]
candidat ERROR Не получился доступ в dimon  62.177.47.132 | Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.9.168 Version/11.51
candidat ERROR lleo не смог установить глобальную куку в блоге dimon! 178.64.10.19 | Opera/9.27 (Windows NT 5.1; U; ru)
6052-fb0 ERROR lleo не смог установить глобальную куку в блоге dimon! 193.7.160.245 | Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.9.168 Version/11.51
candidat ERROR Не получился доступ в dimon 212.119.230.51 | Opera/9.80 (X11; Linux i686; U; ru) Presto/2.9.168 Version/11.51
candidat ERROR lleo не смог установить глобальную куку в блоге dimon! 217.117.71.214 | Opera/9.20 (Windows NT 5.1; U; ru)
7341-2cd ERROR lleo не смог установить глобальную куку в блоге dimon! 81.200.6.155 | Opera/9.27 (Windows NT 5.1; U; ru)
8184-5fe ERROR lleo не смог установить глобальную куку в блоге dimon! 79.180.232.96 | Opera/9.27 (Windows NT 5.1; U; en)
candidat ERROR Не получился доступ в dimon 79.111.104.55 | Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.9.168 Version/11.51
candidat ERROR Не получился доступ в dimon 46.4.124.139 | Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.15) Gecko/2009101601 MRA 5.5 (build 02842) Firefox/3.0.15
8762-aec ERROR Не получился доступ в dimon 195.14.119.139 | Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.8.131 Version/11.11
5316-115 ERROR Не получился доступ в dimon 81.26.91.254 | Mozilla/5.0 (Linux; U; Android 2.2.1; ru-ru; HTC_Wildfire_A3333 Build/FRG83D) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
9113-b6e ERROR Не получился доступ в dimon 95.83.131.151 | Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.9.168 Version/11.51
9047-731 ERROR lleo не смог установить глобальную куку в блоге dimon! 195.158.228.71 | Opera/9.25 (Windows NT 5.2; U; ru)
candidat ERROR lleo не смог установить глобальную куку в блоге dimon! 109.188.214.113 | Opera/9.23 (Windows NT 5.1; U; en)
6723-f76 ERROR Не получился доступ в dimon 188.94.230.102 | Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.9.168 Version/11.51
10563-b2 ERROR Не получился доступ в dimon 212.14.209.45 | Opera/9.27 (Windows NT 5.1; U; ru)
10563-b2 ERROR lleo не смог установить глобальную куку в блоге dimon! 212.14.209.45 | Opera/9.27 (Windows NT 5.1; U; ru)
10743-1b ERROR lleo не смог установить глобальную куку в блоге dimon! 94.141.32.209 | Opera/9.27 (Windows NT 5.1; U; en)

Прямая ссылка на модельку, если кому вдруг интересно вот: http://binoniq.net/list1 Вы поможете исследованию, если вы позаходите на нее с разных экзотичных устройств (поддерживающих JavaScript, разумеется) — если будут ошибки, я увижу их позже в статистике, а вы — в виде всплывшего желтого окна с описанием, что именно не сработало.

PS: Из любопытного: выяснилось, что кто-то засквоттил binoniq.com и разместил на нем наш логотип. Не то, чтоб у меня были планы на этот домен (были бы планы — зарегистрировал бы с самого начала), но непонятно, какой смысл. Скорее небо упадет на землю, Яндекс выкупит yandex.me, а СУП приобретет livejournal.org, чем я заинтересуюсь binoniq.com. Поэтому если это сделал кто-то из вас по душевной доброте — расскажите мне уже о ваших добрых намерениях. А если с целью сквоттерской — то я вас уверяю, это вечно будет ваш проект, бозняк метаться. Движок там поставить не удастся, и вход в единую систему этому домену будет закрыт, потому что сквоттеров не люблю. А в остальном — ради бога, сделайте там магазин туфель, вдруг кто адресом ошибется.

<< предыдущая заметка следующая заметка >>
пожаловаться на эту публикацию администрации портала
архив понравившихся мне ссылок

Комментарии к этой заметке скрываются - они будут видны только вам и мне.

Оставить комментарий