2

Я пытаюсь узнать о файлах cookie и о том, что они хранят. Поскольку я являюсь активным пользователем Google Chrome, я думал о доступе к идентификатору сеанса веб-страницы из файла cookie, используя только Javascript. Я получил список всех файлов cookie, хранящихся в браузере, с помощью chrome.cookies.getAll().получить идентификатор сеанса из файлов cookie с помощью javascript

Однако я не могу понять, как получить доступ к идентификатору сеанса из файлов cookie, поскольку для этого нет ключевого слова?

Как получить идентификатор сеанса из файлов cookie?

код от получения куки ниже:

<html><head> 
<script> 
chrome.browserAction.onClicked.addListener(getCookies); 

var cacheMap = {}; 
var cookie_nameArr = []; 
var cookie_valArr = []; 


    function getCookies(){ 
     chrome.cookies.getAll({}, function(cookies){ 

      for(var b in cookies){      
      var cookieVal = cookies[b].value; 
      var cookieName = cookies[b].domain; 
        cookie_nameArr.push(cookieName); 
        cookie_valArr.push(cookieVal);    
       if(!cacheMap[cookieName]) 
       { 
        cacheMap[cookieName] = 1; 
       } 
       else 
        cacheMap[cookieName]++; 
    }//alert(cookie_nameArr.length + "," + cookie_valArr.length); 
     for(var i=0;i<3;i++) 
    { 
     alert(cookie_nameArr[i] + ", " + cookie_valArr[i]); 

    } 

}); 
} 

</script></head> 
</body></html> 

ответ

1

Прежде всего, необходимо выяснить, что вы ищете. Трудно найти черную кошку в темной комнате, особенно если ее там нет.

Откройте инструменты разработчика Chrome на интересующей вас странице и проверьте вкладку «Ресурсы». Вы видите свой файл cookie в разделе «Cookies»? Если да, то вы сможете прочитать его с помощью своего метода. Если нет, проверьте свой URL-адрес страницы - возможно, он передан как параметр url? Если нет, значит, сеанс используется только для запросов ajax? Может быть, он вообще не используется?

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

Ваш подход довольно много путь, просто есть простой способ проверки объектов с помощью консоли вместо предупреждения:

chrome.cookies.getAll({domain: "stackoverflow.com"}, function(cookies){ 
     console.log(cookies); 
    }); 

Нажмите на background.html ссылку на вкладке Расширения и проверьте консоль ,

+0

Я посмотрел под вкладкой куки для этой страницы и да, есть некоторые куки. Не могли бы вы предоставить мне пример кода примера? Спасибо за информацию :) – user781022

+0

@ user781022 Я добавил пример, просто попробуйте консоль вместо предупреждений. – serg

+0

Полученный результат: [Object, Object, Object, Object, Object, Object, Object, Object, Object] Я предполагаю, что это правильно, поскольку на вкладке ресурсов с доменом stackoverflow.com имеется 8 файлов cookie. Сохраняет ли значение каждого файла cookie идентификатор сеанса веб-страницы? btw, действительно оцените образец кода – user781022

Смежные вопросы