নাম দিয়ে কুকি মুছবেন?


151

নাম সহ একটি নির্দিষ্ট কুকি কীভাবে মুছতে পারি roundcube_sessauth?

নিম্নলিখিতগুলি করা উচিত নয়:

function del_cookie(name) {
    document.cookie = 'roundcube_sessauth' + 
    '=; expires=Thu, 01-Jan-70 00:00:01 GMT;';
} 

এবং তারপর:

<a href="javascript:del_cookie(name);">KILL</a>

roundcube_sessauthকুকি মারো ?


1
name? এর মূল কথা কি? বা এটি কি আরও বহুমুখী সংস্করণ থেকে একটি হ্যাংওভার যা আপনাকে কুকির নাম নির্দিষ্ট করতে দেয়?
প্যাক্সিডিয়াবল

ভেবে দেখবেন না যে এটাকে ডুপা। এটি বিশেষভাবে সমস্ত কুকিজ সাফ করার বিষয়ে জিজ্ঞাসা করে।
প্যাক্সিডিয়াবল

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

@ প্যাক্সডিয়াবলো - ...How can I delete a specific cookie
ডেরেক 朕 會

1
@ ডেরেক এট আল, আপনার মনে হয় ভুল বুঝাবুঝি। আমি বলছিলাম যে গ্যাবে থেকে প্রস্তাবিত ডুপটি কোনওভাবেই ডুপ নয়, কারণ প্রস্তাবিত ডুপ সমস্ত কুকিজ মুছে ফেলার বিষয়ে জিজ্ঞাসা করেছিল এবং এই প্রশ্নটি একটি নির্দিষ্ট কুকি মোছার বিষয়ে জিজ্ঞাসা করে । আমি এই প্রশ্নটি
কোনওভাবেই

উত্তর:


252

আপনি সঠিক কুকি মুছে ফেলছেন তা নিশ্চিত করার জন্য আপনার কুকিটি যে পথের উপরে রয়েছে তা নির্ধারণ করা উচিত।

function set_cookie(name, value) {
  document.cookie = name +'='+ value +'; Path=/;';
}
function delete_cookie(name) {
  document.cookie = name +'=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}

আপনি যদি পথটি নির্দিষ্ট না করেন তবে ব্রাউজারটি আপনি বর্তমানে যে পৃষ্ঠাটিতে রয়েছেন তার সাথে তুলনা করে একটি কুকি সেট করবে, তাই আপনি যদি অন্য পৃষ্ঠায় থাকা কুকিটি মুছে ফেলেন তবে অন্য কুকি তার অস্তিত্ব অব্যাহত রাখে।

@ ইভান মরিসনের মন্তব্যের ভিত্তিতে সম্পাদনা করুন।
সচেতন থাকুন যে কোনও কোনও ক্ষেত্রে সঠিক কুকি সনাক্ত করতে Domainপ্যারামিটার প্রয়োজন is
সাধারণত এটি হিসাবে সংজ্ঞায়িত করা হয় Domain=.yourdomain.com
স্থাপন aআপনার ডোমেন নামের সামনে বিন্দু রাখার অর্থ এই কুকিটি কোনও সাব-ডোমেনে থাকতে পারে ( wwwএটি সাব-ডোমেন হিসাবেও গণনা করা হয়)।

এছাড়াও, @ রবার্টটির উত্তরে উল্লিখিত হিসাবে, HttpOnlyক্লায়েন্টের পাশে জাভাস্ক্রিপ্টের সাহায্যে কুকিজ মুছা যায় না।


23
এটি আমাকে বাদাম চালাচ্ছিল! আমি পথ = / যুক্ত করার পরে, মুছতে সক্ষম হয়েছি। ধন্যবাদ!
duyn9uyen

12
এটি সঠিক উত্তর হওয়া উচিত, Pathবেশিরভাগ ক্ষেত্রে ছাড়া এটি কাজ করে না ।
সুপারমার্কো

9
আমি দু'টি পথ এবং সঠিক 'ডোমেন = মান' যোগ না করা পর্যন্ত আমি কোনও কুকি মুছতে সক্ষম হইনি; '... সুতরাং আমার বক্তব্যটি ছিল: ডকুমেন্ট.কুকি = "কুকি নাম =; পথ = /; মেয়াদোত্তীর্ণ = থু, 01 জানুয়ারী 1970 00:00:01 জিএমটি; ডোমেন = .myDomain.com"
ইভান মরিসন

1
এই সমাধানটি এখনও কার্যকর হয় Max-Age=0তবে আপনি যদি এই ধরণের বিষয়ে যত্নশীল হন তবে কিছুটা আরও সংক্ষিপ্তভাবে লেখা যেতে পারে।
ম্যাক্সপিডেরফের্টি

181

কোনও কুকি মুছে ফেলার expiresজন্য অতীতে কোনও কিছুর তারিখ সেট করে । এটি করে এমন একটি ফাংশন।

var delete_cookie = function(name) {
    document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT;';
};

তারপরে কুকি নামের একটি কুকি মুছুন roundcube_sessauth

delete_cookie('roundcube_sessauth');

1
আমি এই রকম অনুভব করছি এটি কাজ করা উচিত (এটি দেখে মনে হচ্ছে এটি কাজ করা উচিত: ডি!), তবে আমি ফায়ারফক্সে আমার পৃষ্ঠা দ্বারা নির্ধারিত কুকিজগুলি দেখছি এবং যখন আমি "কিল" বোতামটি ক্লিক করি তখন কুকি মোছা হচ্ছে না। কোন ধারণা কেন?
চার্লি

এটি গুগল ক্রোমে কাজ করে। ফায়ারব্যাগ ইনস্টল করুন এবং দেখুন কোনও ত্রুটি আছে কিনা।

1
কোনও ত্রুটি নেই, আমার ধারণা এটি রাউন্ডক्यूबের কুকিটি কেবল মুছে ফেলছে না। এটি সম্ভবত অন্য কুকিজ মুছে ফেলা হয়।
চার্লি

39
এই প্রশ্নের উত্তর খুঁজছেন ব্যবহারকারীদের জন্য, দয়া করে নীচের উত্তরটি দেখুন। path=/কী ব্রাউজার সামঞ্জস্যের জন্য গুরুত্বপূর্ণ।
বেনক্রিপস

2
এই উত্তরটি ক্রোমে আমার পক্ষে কার্যকর হয়নি, ফায়ারফক্সে এটি ব্যবহার করে দেখেনি। তবে নীচে ইমির উত্তরটি কাজ করেছিল।
ড্যানিয়েল এফ

11

// যদি এক্সমিনগুলি পাস হয় = 0 এটি এটি তৈরি করার সাথে সাথে তা মুছে ফেলা হবে।

function setCookie(cname, cvalue, exMins) {
    var d = new Date();
    d.setTime(d.getTime() + (exMins*60*1000));
    var expires = "expires="+d.toUTCString();  
    document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}

setCookie('cookieNameToDelete','',0) // this will delete the cookie.

এক্সমিনস এই উদাহরণে অপরিজ্ঞাত হয়েছে, আপনি সম্ভবত উদয় বোঝাতে চেয়েছিলেন
ভুরলো

হ্যাঁ ... পরিবর্তে যুক্তিটির নাম পরিবর্তন করে এক্সএমদের কাছে দিন দিন .. ধন্যবাদ # বিএইচবিএইচ
কিশোর পাতিল

7

আমি সত্যিই নিশ্চিত নই যে মে '12 এর রাউন্ডকিউব সংস্করণটি নিয়ে এটাই ছিল কিনা, তবে বর্তমানের উত্তর হ'ল আপনি roundcube_sessauthজাভাস্ক্রিপ্ট থেকে কুকি মুছতে পারবেন না , কারণ এটি চিহ্নিত হয়েছে HttpOnly। এবং এর অর্থ এটি জেএস ক্লায়েন্টের সাইড কোড থেকে অ্যাক্সেসযোগ্য নয় এবং কেবল সার্ভার সাইড স্ক্রিপ্ট বা সরাসরি ব্যবহারকারীর ক্রিয়া (কিছু ব্রাউজার মেকানিক যেমন যেমন ইন্টিগ্রেটেড ডিবাগার বা কিছু প্লাগইন) এর মাধ্যমে সরানো যেতে পারে।


1

আপনি এই সমাধান চেষ্টা করতে পারেন

var d = new Date();
d.setTime(d.getTime());
var expires = "expires="+d.toUTCString();
document.cookie = 'COOKIE_NAME' + "=" + "" + ";domain=domain.com;path=/;expires=" + expires;

0

আমার ক্ষেত্রে আমি বিভিন্ন পরিবেশের জন্য ব্লো কোড ব্যবহার করেছি।

  document.cookie = name +`=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;Domain=.${document.domain.split('.').splice(1).join('.')}`;
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.