Здесь собираю ссылки на принципы работы с cookie ( Wikipedia, jQuery plugins, IT безопасность). Нахожу в справках Гугла описания многочисленных недостандартов куки... Пробую java script и нахожу плагины jQuery. Их хвалят на Stackoverflow... Не надо пренебрегать javascript. Отдельно отметим ссылку на "желтый сайт" Are you trying to get to Google? А всего здесь ссылок 30-ть... Изрядно
И здесь же начинал было фомировать наборы плагинов для браузера (работа с cookie, переключение proxy, замена HTTP headers, XPath)... Но начал выбирать и устанавливать плагины для куки, а затем и для прокси... и решил для палинов выделить отдельный пост. Ну а ссылки, которые здесь уже есть решил не убирать, а просто скопировать в новый пост Плагины для работы с Chrome
Заметки в процессе чтения¶
Прежде, чем формулировать, что я хочу, решил прочитать про cookie. Статья в Википедии позволила быстро все вспомнить. Куки хранятся в папке кэша браузера, передаются в HTTP заголовках..., есть альтернативы, анпример - строка запроса... Перехват заголовков - это здорово
HTTP cookie - здесь есть почти все
rfc2965 HTTP State Management Mechanism
Cookie, создаваемых ей потенциальных угроз, методик анализа и противодействия
Блокировщик Google Analytics
Типы файлов cookie, используемые Google - Здесь можно найти описания
Chrome Управление файлами cookie и данными сайтов
Использование файлов cookie Google Analytics на веб-сайтах
Домены и файлы cookie – веб-отслеживание - analytics.js
Безопасность и конфиденциальность в службе Universal Analytics
How PREF cookie (google.com) appears in firefox?
Are you trying to get to Google? - желтый сайт
Anonymizing Google's Cookie - рецепты из большой желтой статьи
MAXA Cookie Manager - поставил, теперь выскакивают сообщения..., отключил
Comodo Dragon Managing Cookies
Включение и выключение кук
Плагины для работы с куками позволяют быстро переключаться между ними, и вообще, удобно смотреть и редактировать текущие cookie
Scrapy Using Firefox for scraping
Удобное переключение прокси: SwitchProxy
HTTP-Отладка
jQuery – работаем с cookies
How to set/unset cookie with jQuery? - есть и JS без плагинов ... мегапопулярность на stackoverflow
create, read, and erase cookies with jQuery
jquery.cookie - A simple, lightweight jQuery plugin for reading, writing and deleting cookies пока не нужен, но...
Firefox session cookies - популярнаф тема на stackoverflow
Search Results for: cookie from jquery.com
jQuery Storage API
PgwCookie - Cookie plugin for jQuery / Zepto
jCookie - a jQuery-Plugin providing an convenient api for CRUD-related cookie handling
XPather allows you to test XPath expressions directly on the pages.
XPath Checker is another Firefox add-on for testing XPaths on your pages.
Из Википедии HTTP cookie¶
Кроме пары имя/значение, куки может содержать срок действия, путь и доменное имя. RFC 2965 также предусматривает, что куки должны обязательно иметь номер версии, но это используется редко. Эти атрибуты должны идти после пары name=newvalue и разделяться точкой с запятой. Например:
Set-Cookie: name=newvalue; expires=date; path=/; domain=.example.org.
Домен и путь говорят браузеру, что куки должна быть отправлена обратно на сервер при запросах URL для указанного домена и пути. Если они не указаны, используются домен и путь запрошенной страницы.
Фактически, куки определяются тройкой параметров имя-домен-путь (оригинальная спецификация Netscape учитывала только пару имя-путь). Иными словами, куки с разными путями или доменами являются разными куки, даже если имеют одинаковые имена. Соответственно, куки меняется на новое, только если новое куки имеет те же имя, путь и домен.
Дата истечения указывает браузеру, когда удалить куки. Если срок истечения не указан, куки удаляется по окончании пользовательского сеанса, то есть с закрытием браузера. Если же указана дата истечения срока хранения, куки становится постоянной до указанной даты. Дата истечения указывается в формате «Нед, ДД Мес ГГГГ ЧЧ:ММ:СС GMT». Например:
Set-Cookie: RMID=732423sdfs73242; expires=Fri, 31 Dec 2010 23:59:59 GMT; path=/; domain=.example.net
Срок хранения куки истекает в следующих случаях:¶
В конце сеанса (например, когда браузер закрывается), если куки не являются постоянными. Дата истечения была указана, и срок хранения вышел. Браузер удалил куки по запросу пользователя.
Заметим, что сервер может узнать, когда истекают сроки хранения куки, только когда браузер отправляет на сервер эту информацию.
Куки могут использоваться сервером для опознания ранее аутентифицированных пользователей. Это происходит следующим образом:¶
Пользователь вводит имя пользователя и пароль в текстовых полях страницы входа и отправляет их на сервер.
Сервер получает имя пользователя и пароль, проверяет их и, при их правильности, отправляет страницу успешного входа, прикрепив куки с неким идентификатором сессии. Эта куки может быть действительна не только для текущей сессии браузера, но может быть настроена и на длительное хранение. Каждый раз, когда пользователь запрашивает страницу с сервера, браузер автоматически отправляет куки с идентификатором сессии серверу. Сервер проверяет идентификатор по своей базе идентификаторов и, при наличии в базе такого идентификатора, «узнаёт» пользователя.
Этот метод широко используется на многих сайтах, например на Yahoo!, в Википедии и в Facebook.
Многие браузеры (в частности Opera, FireFox), путем редактирования свойств куки, могут управлять поведением веб-сайтов. Изменив срок истечения непостоянных (сессионных) куки можно, например, получить формально-неограниченную сессию после авторизации на каком-либо сайте. Возможность редактирования куки стандартными средствами отсутствует в Internet Explorer. Но, воспользовавшись иными механизмами, например, JavaScript, пользователь может изменить куки-файл. Более того, существует возможность заменить сессионные куки постоянными (с указанием срока годности).
Однако серверное программное обеспечение может отслеживать такие попытки. Для этого сервер выдаёт куки на определённый срок и записывает дату окончания куки у себя каждый раз, когда пользователь обращается к серверу. Если куки, присланный браузером, имеет дату годности отличную от той, что хранится на сервере, значит имеет место попытка подмены даты годности куки. Сервер может отреагировать, например, запросив у пользователя повторную авторизацию.
Посмотреть куки документа в браузере можно просто¶
Большинство браузеров, поддерживающих JavaScript, позволяют пользователю увидеть активные на данном сайте куки, набрав в адресной строке браузера:
javascript:alert("Cookies: "+document.cookie)
#или
javascript:prompt("Cookies:",document.cookie)
Я попробовал, обе команды работают в Dragon, вот пример, страничка поиска Яндекса¶
Только скрипты запускались не из адресной строки, а из консоли браузера и достаточно было просто "document.cookie"
# for URL http://yandex.ru/yandsearch?text=alert(%22Cookies%3A%20%22%2Bdocument.cookie)&clid=2051418
javascript:prompt("Cookies:",document.cookie)
"z=s:l:0x7632bf0:1410324454159;
fuid01=51c34bc45afdaa11.qVstpE24ykSAAGYqVNLG_p0EU108Hz_0VK6hwPA8yPLfHR7I_EeMqlKQMby9Wn3A2yl5arlgxdLRNBEUZZiWqrePuoCO-UYIqhycqRduLYrbGU5-0aAXR1rDG2lh8b1w;
L=SlQbMFwBXnADSV8CUHtla2IPTwAJe2ZiKA8HM3kNICAnLiYEOGgMJlgET1wLNS8/BRYKAwkUCwZjQUMjH1giMg==.1403417463.11024.211818.088bbba1366e0379dafabd89b1c36d02;
yandex_login=altersego2007;
my=YzYBAQA=;
yandexuid=417300041369129142;
Cookie_check=1;
yp=1721402534.sp.aflt:1405178534#1718777463.udn.YWx0ZXJzZWdvMjAwNw==#1410348857.nps.3114674778:close#1410348955.b5s.1;
ys=wprid.1410343407735303-280616281999467237129708-9-033; yabs-frequency=/4/6W090F0X45IMDCvJ/0eraRCCQPm000m00/;
_ym_visorc_731962=b"
Некоторые браузеры содержат менеджер куки, позволяющий пользователю выборочно просмотреть и удалить куки, хранящиеся в браузере.
Директива Евросоюза о конфиденциальности электронных данных от 2002 года¶
содержит нормы, касающиеся использования куки. В частности, пункт 3 статьи 5 устанавливает, что хранение данных (в том числе куки) может осуществляться лишь если:
пользователю предоставляется информация о том, как эти данные используются; пользователь имеет возможность отказаться от этого.
Тем не менее, в данной статье также говорится, что хранение технически необходимых данных освобождается от этих норм.
Примеры подходов Google изБезопасность и конфиденциальность в службе Universal Analytics¶
Скрипт analytics.js хранит меньше данных в файлах cookie. Теперь используется только идентификатор, состоящий из двух случайным образом сформированных 32-разрядных чисел (например, 12345.67890).
Очистка или удаление файлов cookie из браузера не гарантирует, что последующие посещения будут рассматриваться службой Google Analytics как новые. Подробнее о том, как пользователь может заблокировать Google Analytics
С появлением технологии Universal Analytics в Google Analytics были добавлены новые функции, однако наши обязательства по сохранению конфиденциальности не изменились. Такие меры безопасности, как маскировка IP-адреса , Блокировщик Google Analytics и гарантия конфиденциальности данных, по-прежнему поддерживаются analytics.js , библиотекой JavaScript для Universal Analytics.
Как определить, используется ли на сайте Universal Analytics¶
Определить, подключен ли веб-сайт к службе Google Analytics и, в частности, к Universal Analytics, очень просто. Достаточно воспользоваться встроенными инструментами для разработчиков , которые представлены в большинстве современных браузеров. Обратите внимание, что на странице могут одновременно использоваться как классическая библиотека Google Analytics ( ga.js ), так и библиотека Universal Analytics( analytics.js ).
Рекомендовано в документации Scrapy Using Firefox for scraping¶
Firebug is a widely known tool among web developers and it’s also very useful for scraping. In particular, its Inspect Element feature comes very handy when you need to construct the XPaths for extracting data because it allows you to view the HTML code of each page element while moving your mouse over it.
Tamper Data is a Firefox add-on which allows you to view and modify the HTTP request headers sent by Firefox. Firebug also allows to view HTTP headers, but not to modify them.
Firecookie makes it easier to view and manage cookies. You can use this extension to create a new cookie, delete existing cookies, see a list of cookies for the current site, manage cookies permissions and a lot more.
Из документации Google: Управление файлами cookie в браузере¶
В некоторых браузерах можно настроить правила работы с файлами cookie для каждого из сайтов в отдельности, что позволяет ещё точнее управлять конфиденциальностью. Например, можно отключить прием файлов cookie от всех сайтов, кроме тех, которым вы доверяете.
В браузере Google Chrome, в меню Инструменты есть команда Удаление данные о просмотренных страницах. Она позволяет очистить историю просмотров, а также удалить файлы cookie и другие данные сайтов и подключаемых модулей, в том числе информацию, которая была сохранена проигрывателем Adobe Flash Player. Подробнее об управлении файлами cookie в Google Chrome...
Ещё одна функция браузера Google Chrome – режим инкогнито. Он будет полезен, если вы не хотите, чтобы посещенные страницы и загруженные файлы сохранялись в истории просмотров и загрузок. Любые файлы cookie, созданные во время такого сеанса, удаляются при закрытии всех окон, работающих в режиме инкогнито.
Из документации Google: Управление файлами cookie и данными сайтов¶
Существует два типа файлов cookie. Основные файлы cookie сохраняются непосредственно сайтом, адрес которого указан в адресной строке. Сторонние файлы cookie устанавливаются другими сайтами, содержание которых, например объявления или изображения, встроено в просматриваемую страницу.
Чтобы браузер Google Chrome автоматически удалял файлы cookie при закрытии всех окон браузера, в диалоговом окне "Настройки содержания страницы" установите флажок "Сохранять локальные данные только до закрытия браузера". Также можно настроить исключения, чтобы после закрытия браузера всегда удалялись файлы cookie определенных сайтов.
Этот эксперимент надо будет повторить. Полезный практикум. Впрочем, разбираться с трафиком Google предстоит всерьез. Так что, копируем сюда эту задачку, но далее подберем инструменты не только для кук..., но и для экспериментов с заголовками, мониторинга трафика...
Remove all the history in Firefox (delete all cookies), disable all add-ons and plugins, then restart Firefox. Do not go to any site and wait for about 10-15 min. Go to Options->...->Show cookies. You will see cookie named PREF with google.com domain.
1) Can somebody explain how and why this cookie appears?
2) How to get rid of this?
p.s I don't have any google desktop application installed. Firefox google search bar is removed too.
Ниже копипаст 7 страниц статьи How Internet Cookies Work с интересного, но медленного сайта¶
Most Internet cookies are incredibly simple, but they are one of those things that have taken on a life of their own. Cookies started receiving tremendous media attention back in 2000 because of Internet privacy concerns, and the debate still rages.
On the other hand, cookies provide capabilities that make the Web much easier to navigate. The designers of almost every major site use them because they provide a better user experience and make it much easier to gather accurate information about the site's visitors.
In this article, we will take a look at the basic technology behind cookies, as well as some of the features they enable.
Cookie Basics¶
In April of 2000 I read an in-depth article on Internet privacy in a large, respected newspaper, and that article contained a definition of cookies. Paraphrasing, the definition went like this:
Cookies are programs that Web sites put on your hard disk. They sit on your computer gathering information about you and everything you do on the Internet, and whenever the Web site wants to it can download all of the information the cookie has collected. [wrong]
Definitions like that are fairly common in the press. The problem is, none of that information is correct. Cookies are not programs, and they cannot run like programs do. Therefore, they cannot gather any information on their own. Nor can they collect any personal information about you from your machine.
Here is a valid definition of a cookie:** A cookie is a piece of text that a Web server can store on a user's hard disk.** Cookies allow a Web site to store information on a user's machine and later retrieve it. The pieces of information are stored as name-value pairs.
For example, a Web site might generate a unique ID number for each visitor and store the ID number on each user's machine using a cookie file.
If you use Microsoft's Internet Explorer to browse the Web, you can see all of the cookies that are stored on your machine. The most common place for them to reside is in a directory called c:windowscookies. When I look in that directory on my machine, I find 165 files. Each file is a text file that contains name-value pairs, and there is one file for each Web site that has placed cookies on my machine.
You can see in the directory that each of these files is a simple, normal text file. You can see which Web site placed the file on your machine by looking at the file name (the information is also stored inside the file). You can open each file by clicking on it.
For example, I have visited goto.com, and the site has placed a cookie on my machine. The cookie file for goto.com contains the following information: UserID A9A3BECE0563982D www.goto.com/
Goto.com has stored on my machine a single name-value pair. The name of the pair is UserID, and the value is A9A3BECE0563982D. The first time I visited goto.com, the site assigned me a unique ID value and stored it on my machine.
(Note that there probably are several other values stored in the file after the three shown above. That is housekeeping information for the browser.)
Amazon.com stores a bit more information on my machine. When I look at the cookie file Amazon has created on my machine, it contains the following: session-id-time 954242000 amazon.com/ session-id 002-4135256-7625846 amazon.com/ x-main eKQIfwnxuF7qtmX52x6VWAXh@Ih6Uo5H amazon.com/ ubid-main 077-9263437-9645324 amazon.com/
It appears that Amazon stores a main user ID, an ID for each session, and the time the session started on my machine (as well as an x-main value, which could be anything).
The vast majority of sites store just one piece of information -- a user ID -- on your machine. But a site can store many name-value pairs if it wants to.
A name-value pair is simply a named piece of data. It is not a program, and it cannot "do" anything. A Web site can retrieve only the information that it has placed on your machine. It cannot retrieve information from other cookie files, nor any other information from your machine.
How does cookie data move?¶
As you saw in the previous section, cookie data is simply name-value pairs stored on your hard disk by a Web site. That is all cookie data is. The Web site stores the data, and later it receives it back. A Web site can only receive the data it has stored on your machine. It cannot look at any other cookie, nor anything else on your machine.
The data moves in the following manner:
•If you type the URL of a Web site into your browser, your browser sends a request to the Web site for the page (see How Web Servers Work for a discussion). For example, if you type the URL http://www.amazon.com into your browser, your browser will contact Amazon's server and request its home page.
•When the browser does this, it will look on your machine for a cookie file that Amazon has set. If it finds an Amazon cookie file, your browser will send all of the name-value pairs in the file to Amazon's server along with the URL. If it finds no cookie file, it will send no cookie data.
•Amazon's Web server receives the cookie data and the request for a page. If name-value pairs are received, Amazon can use them. •If no name-value pairs are received, Amazon knows that you have not visited before. The server creates a new ID for you in Amazon's database and then sends name-value pairs to your machine in the header for the Web page it sends. Your machine stores the name-value pairs on your hard disk.
•The Web server can change name-value pairs or add new pairs whenever you visit the site and request a page.
There are other pieces of information that the server can send with the name-value pair. One of these is an expiration date. Another is a path (so that the site can associate different cookie values with different parts of the site).
You have control over this process. You can set an option in your browser so that the browser informs you every time a site sends name-value pairs to you. You can then accept or deny the values.
How do Web sites use cookies?¶
Cookies evolved because they solve a big problem for the people who implement Web sites. In the broadest sense, a cookie allows a site to store state information on your machine. This information lets a Web site remember what state your browser is in. An ID is one simple piece of state information -- if an ID exists on your machine, the site knows that you have visited before. The state is, "Your browser has visited the site at least one time," and the site knows your ID from that visit.
Web sites use cookies in many different ways. Here are some of the most common examples:
Sites can accurately determine how many people actually visit the site. It turns out that because of proxy servers, caching, concentrators and so on, the only way for a site to accurately count visitors is to set a cookie with a unique ID for each visitor. Using cookies, sites can determine how many visitors arrive, how many are new versus repeat visitors and how often a visitor has visited. Sites can store user preferences so that the site can look different for each visitor (often referred to as customization). For example, if you visit msn.com, it offers you the ability to "change content/layout/color." It also allows you to enter your zip code and get customized weather information. When you enter your zip code, the following name-value pair gets added to MSN's cookie file: WEAT CC=NC%5FRaleigh%2DDurham®ION= www.msn.com/
•Since I live in Raleigh, N.C., this makes sense.
•Most sites seem to store preferences like this in the site's database and store nothing but an ID as a cookie, but storing the actual values in name-value pairs is another way to do it (we'll discuss later why this approach has lost favor).
E-commerce sites can implement things like shopping carts and "quick checkout" options. The cookie contains an ID and lets the site keep track of you as you add different things to your cart. Each item you add to your shopping cart is stored in the site's database along with your ID value. When you check out, the site knows what is in your cart by retrieving all of your selections from the database. It would be impossible to implement a convenient shopping mechanism without cookies or something like them.
In all of these examples, note that what the database is able to store is things you have selected from the site, pages you have viewed from the site, information you have given to the site in online forms, etc. All of the information is stored in the site's database, and in most cases, a cookie containing your unique ID is all that is stored on your computer.
Problems with Cookies¶
Cookies are not a perfect state mechanism, but they certainly make a lot of things possible that would be impossible otherwise. Here are several of the things that make cookies imperfect.
•People often share machines - Any machine that is used in a public area, and many machines used in an office environment or at home, are shared by multiple people. Let's say that you use a public machine (in a library, for example) to purchase something from an online store. The store will leave a cookie on the machine, and someone could later try to purchase something from the store using your account.
Stores usually post large warnings about this problem, and that is why. Even so, mistakes can happen. For example, I had once used my wife's machine to purchase something from Amazon.
Later, she visited Amazon and clicked the "one-click" button, not realizing that it really does allow the purchase of a book in exactly one click. On something like a Windows NT machine or a UNIX machine that uses accounts properly, this is not a problem. The accounts separate all of the users' cookies. Accounts are much more relaxed in other operating systems, and it is a problem. If you try the example above on a public machine, and if other people using the machine have visited HowStuffWorks, then the history URL may show a very long list of files.
•Cookies get erased - If you have a problem with your browser and call tech support, probably the first thing that tech support will ask you to do is to erase all of the temporary Internet files on your machine. When you do that, you lose all of your cookie files. Now when you visit a site again, that site will think you are a new user and assign you a new cookie.
This tends to skew the site's record of new versus return visitors, and it also can make it hard for you to recover previously stored preferences.
This is why sites ask you to register in some cases -- if you register with a user name and a password, you can log in, even if you lose your cookie file, and restore your preferences.
If preference values are stored directly on the machine (as in the MSN weather example above), then recovery is impossible. That is why many sites now store all user information in a central database and store only an ID value on the user's machine.
If you erase your cookie file for HowStuffWorks and then revisit the history URL in the previous section, you will find that HowStuffWorks has no history for you. The site has to create a new ID and cookie file for you, and that new ID has no data stored against it in the database. (Also note that the HowStuffWorks Registration System allows you to reset your history list whenever you like.)
•Multiple machines - People often use more than one machine during the day. For example, I have a machine in the office, a machine at home and a laptop for the road. Unless the site is specifically engineered to solve the problem, I will have three unique cookie files on all three machines. Any site that I visit from all three machines will track me as three separate users. It can be annoying to set preferences three times. Again, a site that allows registration and stores preferences centrally may make it easy for me to have the same account on three machines, but the site developers must plan for this when designing the site. If you visit the history URL demonstrated in the previous section from one machine and then try it again from another, you will find that your history lists are different. This is because the server created two IDs for you, one on each machine.
There are probably not any easy solutions to these problems, except asking users to register and storing everything in a central database.
When you register with the HowStuffWorks registration system, the problem is solved in the following way: The site remembers your cookie value and stores it with your registration information. If you take the time to log in from any other machine (or a machine that has lost its cookie files), then the server will modify the cookie file on that machine to contain the ID associated with your registration information. You can therefore have multiple machines with the same ID value.
Cookies on the Internet: Privacy Issues¶
If you have read the article to this point, you may be wondering why there has been such an uproar in the media about cookies and Internet privacy. You have seen in this article that cookies are benign text files, and you have also seen that they provide lots of useful capabilities on the Web.
There are two things that have caused the strong reaction around cookies:
•The first is something that has plagued consumers for decades. Let's say that you purchase something from a traditional mail order catalog. The catalog company has your name, address and phone number from your order, and it also knows what items you have purchased.
It can sell your information to others who might want to sell similar products to you.
That is the fuel that makes telemarketing and junk mail possible.
On a Web site, the site can track not only your purchases, but also the pages that you read, the ads that you click on, etc. If you then purchase something and enter your name and address, the site potentially knows much more about you than a traditional mail order company does. This makes targeting much more precise, and that makes a lot of people uncomfortable. Different sites have different policies.
HowStuffWorks has a strict privacy policy and does not sell or share any personal information about our readers with any third party except in cases where you specifically tell us to do so (for example, in an opt-in e-mail program). We do aggregate information together and distribute it. For example, if a reporter asks me how many visitors HowStuffWorks has or which page on the site is the most popular, we create those aggregate statistics from data in the database.
•The second is unique to the Internet. There are certain infrastructure providers that can actually create cookies that are visible on multiple sites. DoubleClick is the most famous example of this. Many companies use DoubleClick to serve banner ads on their sites. DoubleClick can place small (1x1 pixels) GIF files on the site that allow DoubleClick to load cookies on your machine. DoubleClick can then track your movements across multiple sites.
It can potentially see the search strings that you type into search engines (due more to the way some search engines implement their systems, not because anything sinister is intended).
Because it can gather so much information about you from multiple sites, DoubleClick can form very rich profiles. These are still anonymous, but they are rich. DoubleClick then went one step further. By acquiring a company, DoubleClick threatened to link these rich anonymous profiles back to name and address information -- it threatened to personalize them, and then sell the data.
That began to look very much like spying to most people, and that is what caused the uproar. DoubleClick and companies like it are in a unique position to do this sort of thing, because they serve ads on so many sites. Cross-site profiling is not a capability available to individual sites, because cookies are site specific.
For more information on Internet cookies and related topics, check out the links on the next page.
Lots More Information¶
- How Web Servers Work
- How Internet Infrastructure Works
- How Caching Works
- How Operating Systems Work
- How Hard Disks Work
- How Affiliate Programs Work
- How E-commerce Works
- How Amazon Works
- How Spyware Works
- How Trojan Horses Work
More Great Links
Посты чуть ниже также могут вас заинтересовать
Комментариев нет:
Отправить комментарий