আমার ব্রাউজার থেকে সমস্ত কুকিজ পেতে হবে


105

আমার ব্রাউজারে জাভাস্ক্রিপ্ট ব্যবহার করে সমস্ত কুকিজ সঞ্চিত করা দরকার । এটা কিভাবে করা যাবে?


5
নয়াগী, দুর্ভাগ্যক্রমে আমরা যদি আপনার প্রশ্নের উত্তর দিই তবে আপনার কাছে এমন সফ্টওয়্যার রয়েছে যা ম্যালওয়ারের চেয়ে কম কিছু নয়।
জন লিমাজাপ

18
@ জোন লিমাজাপ - এটি মোটেই সত্য নয়। ম্যালওয়্যার না হয়ে ওয়েব ব্রাউজারে সমস্ত কুকিজের মাধ্যমে গণনা করতে সক্ষম হওয়ার বৈধ পরিস্থিতি রয়েছে।
ফ্রেঞ্চি পেনভ

ওহ একটি সেকেন্ড অপেক্ষা করুন। কুকি সব? লগইন কোন ওয়েবসাইট থেকে? এটি ম্যালওয়্যার ...
আলেক্সিওর্ক

আমার একটি পরিস্থিতি রয়েছে (ব্যবসায়ের জন্য ফায়ারওয়ালের পিছনে ওয়েব অ্যাপ্লিকেশন) যেখানে এটি করা সহজ এবং কার্যকর হবে। তবে সমস্যাটি বিদ্যমান কারণ আমাদের অনেকগুলি অভ্যন্তরীণ ডোমেন রয়েছে (বেশিরভাগ ভার্চুয়াল হোস্টের মাধ্যমে) তাই কেউ যুক্তি দিতে পারে যে সমাধানটি সিঙ্গল সাইন অন ব্যবহার করা।
ক্লাববেডস

উত্তর:


83

আপনি কেবল কোনও নির্দিষ্ট সাইটের জন্য কুকিজ অ্যাক্সেস করতে পারেন। document.cookieআপনি ব্যবহার করে পালিয়ে যাওয়া কী = একটি মান অর্ধবৃত্ত দ্বারা পৃথক করা জোড়গুলির একটি তালিকা পাবেন।

secret=do%20not%20tell%you;last_visit=1225445171794

অ্যাক্সেসকে সহজ করার জন্য, আপনাকে স্ট্রিংকে বিশ্লেষণ করতে হবে এবং সমস্ত এন্ট্রি আনসেকেপ করতে হবে:

var getCookies = function(){
  var pairs = document.cookie.split(";");
  var cookies = {};
  for (var i=0; i<pairs.length; i++){
    var pair = pairs[i].split("=");
    cookies[(pair[0]+'').trim()] = unescape(pair.slice(1).join('='));
  }
  return cookies;
}

সুতরাং আপনি পরে লিখতে পারেন:

var myCookies = getCookies();
alert(myCookies.secret); // "do not tell you"

5
এটি সেমিকোলন (";") এর পরে স্থানটি ধরতে পারে না তাই কীগুলির সামনে একটি স্থান রয়েছে ... ব্যবহার /; ? / বিভাজন যখন তাদের অপসারণ?
কার্টার কোল

পার্স করার জন্য এই স্নিপেটটি দেখুন document.cookies(ও'রিলি বই থেকে)।
বেন্টলে

কোনও শীর্ষস্থান নেই বলে নিশ্চিত করার জন্য [0] কে জোড়া দেওয়ার জন্য সত্যই .trim () যুক্ত করা উচিত।
অ্যান্ড্রু কিলেন

37
  1. আপনি অন্যান্য সাইটের কুকি দেখতে পাচ্ছেন না।
  2. আপনি HttpOnlyকুকিজ দেখতে পাচ্ছেন না ।
  3. আপনি যে কুকিগুলি দেখতে পাচ্ছেন সেগুলি document.cookieসম্পত্তিতে রয়েছে, এতে জোড়াগুলির একটি সেমিকোলন বিচ্ছিন্ন তালিকা রয়েছে name=value

27

তুমি পার না. সুরক্ষা উদ্দেশ্যে, নকশা দ্বারা, আপনি কেবল আপনার সাইটের দ্বারা সেট কুকি অ্যাক্সেস করতে পারেন। স্ট্যাকওভারফ্লো ইউজারভয়েস দ্বারা সেট করা কুকিজ বা অ্যামাজন দ্বারা সেট করা কুকি দেখতে পাবে না।


5
ফেসবুক কীভাবে তা করল ...? আমি সবসময় ফেসবুক থেকে গুগল থেকে ব্রাউজ করা বিজ্ঞাপন সম্পর্কিত বিজ্ঞাপন দেখি!
এরি

16
আসলে, ফেসবুক প্রতিটি সাইটে নিজস্ব কুকি লাগায় ... এর লাইক বোতামটি ব্যবহার করে। আমি বাজি দিচ্ছি গুগল +1 বোতামে বা এমনকি সাইট পরিসংখ্যান স্ক্রিপ্টগুলিতেও একই কাজ করে।
ফিলিহো

1
ধন্যবাদ ..., এটা আমার চোখ খুলছে। আমি মনে করি তাদের সাথে সম্পর্কিত যে কোনও ধরণের অ্যাপ্লিকেশনটি করতে হবে, সামাজিক মিডিয়া অ্যাকাউন্ট অ্যাপ্লিকেশন ব্যবহার করে লগইন সহ।
এরি

2
@ সোর্সোপট্রি - এটি অ্যাডচয়েস নয়? ফেসবুক অ্যাডচয়েসগুলি ব্যবহার করে যা গুগল পরিষেবা যা গুগলের মাধ্যমে আপনার অনুসন্ধানের উপর ভিত্তি করে সামগ্রী প্রদর্শন করে। স্ট্যাকওভারফ্লো অ্যাডচয়েসগুলিও ব্যবহার করে। আমি সঠিক বিশদটি থেকে কিছুটা দূরে থাকতে পারি - তবে আমি অনুমান করব যে এটি আপনি যা ভাবছেন তা।
রিক

1
@ কীপমোভকে আমরা এই পরিভাষাটি কুকি-সিঙ্ক
ericdemo07

12

বর্তমান দস্তাবেজের ব্রাউজারে খোলা সমস্ত কুকিজ পুনরুদ্ধার করতে, আপনি আবার document.cookieসম্পত্তি ব্যবহার করুন ।



2

যেহেতু শিরোনামটি এটি প্রোগ্রামিক হতে হবে তা সুনির্দিষ্টভাবে উল্লেখ না করে আমি ধরে নেব যে এটি একটি আসল ডিবাগিং / গোপনীয়তা পরিচালনার সমস্যা ছিল এবং সমাধানটি ব্রাউজার নির্ভর এবং বিশদ কুকি পরিচালন টোল এবং / অথবা একটি ডিবাগিং মডিউল সহ একটি ব্রাউজার প্রয়োজন বা একটি প্লাগ-ইন / এক্সটেনশন। আমি একটি তালিকা তৈরি করতে যাচ্ছি এবং অন্যান্য লোকদের তাদের বিস্তারিতভাবে জানা ব্রাউজারগুলিতে লিখতে বলুন এবং দয়া করে সংস্করণগুলির সাথে সুনির্দিষ্ট হন।

ক্রোমিয়াম, আয়রন বিল্ড (এসআরওয়্যার আয়রন 4.0.280)

রেঞ্চ (সরঞ্জাম) মেনু: বিকল্প / হুডের নীচে / [কুকিজ এবং ওয়েবসাইটের অনুমতি দেখান] সম্পর্কিত ডোমেন / সাইটগুলির জন্য অনুসন্ধান বাক্সে প্রত্যয়টি টাইপ করুন (যেমন .foo.tv)। ক্যাভেট: যখন আপনার কাছে নোড (সাইট বা কুকি) থাকে ক্লিক-হাইলাইট কেবল নির্দিষ্ট সাবট্রিজগুলিকে হত্যা করতে [সরান] ব্যবহার করুন। [সমস্ত সরান] ব্যবহার করা সন্ধানের দ্বারা নির্বাচিত সমস্ত সাইটের কুকিজ মুছে ফেলবে এবং আপনার ডিবাগিং সেশনটি নষ্ট করবে।


1

অবজেক্টের চাবিতে ট্রিম () যুক্ত করেছেন, এবং নামটির নাম দিন, সুতরাং এটি আরও স্পষ্ট হবে যে আমরা এখানে স্ট্রিংয়ের সাথে কাজ করছি।

export const getAllCookies = () => document.cookie.split(';').reduce((ac, str) => Object.assign(ac, {[str.split('=')[0].trim()]: str.split('=')[1]}), {});


0

আপনি যা জিজ্ঞাসা করছেন তা সম্ভব; তবে এটি কেবল একটি নির্দিষ্ট ব্রাউজারে কাজ করবে। এটি অর্জন করতে আপনাকে একটি ব্রাউজার এক্সটেনশন অ্যাপ্লিকেশন বিকাশ করতে হবে। আরও ভালভাবে বুঝতে আপনি ক্রোম এপিআই সম্পর্কে আরও পড়তে পারেন। https://developer.chrome.com/extensions/cookies

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.