http কিভাবে ব্রাউজার কুকি ডোমেইন কাজ করে?




cookies path (7)

আগের উত্তর একটু পুরানো হয়।

RFC 6265 সেই সময়ে ব্রাউজারের ঐক্যমতের ভিত্তিতে ২011 সালে প্রকাশিত হয়েছিল। তারপরে, পাবলিক প্রতিক্রিয়ার ডোমেনগুলির সাথে কিছু জটিলতা হয়েছে। আমি বর্তমান পরিস্থিতি ব্যাখ্যা করে একটি নিবন্ধ লিখেছি - http://bayou.io/draft/cookie.domain.html

সংক্ষেপে, কুকি ডোমেন সম্পর্কিত অনুসরণ করার নিয়ম:

  • কুকির মূল ডোমেনটি মূল অনুরোধের ডোমেন।

  • যদি মূল ডোমেনটি একটি আইপি হয়, তবে কুকির ডোমেন বৈশিষ্ট্যটি সেট করা উচিত নয়।

  • যদি কোন কুকির ডোমেইনের বৈশিষ্ট্য সেট না করা হয় তবে কুকি কেবল তার মূল ডোমেনে প্রযোজ্য।

  • যদি কোন কুকির ডোমেন বৈশিষ্ট্য সেট করা হয়,

    • কুকি যে ডোমেন এবং তার সব সাবডোমেন প্রযোজ্য;
    • কুকি এর ডোমেনটি অবশ্যই মূল ডোমেনের বা একই অভিভাবকের মতোই হওয়া আবশ্যক
    • কুকি এর ডোমেনটি একটি টিএলডি, জনসাধারণের প্রত্যক্ষতা, বা জনসাধারণের প্রত্যয়ীর অভিভাবক হওয়া উচিত নয়।

এটি একটি কুকি সর্বদা তার মূল ডোমেনে প্রযোজ্য হতে পারে।

কুকি ডোমেনের একটি লিডিং ডট থাকতে হবে না, যেমন .foo.com - কেবল foo.com ব্যবহার foo.com

উদাহরণ হিসাবে,

  • xyzcom নিজেই বা পিতামাতার একটি কুকি ডোমেইন সেট করতে পারেন - xyzcom , yzcom , z.com । কিন্তু com নয়, যা একটি পাবলিক প্রতিক্রিয়া।
  • ডোমেইন = yzcom দিয়ে একটি কুকি yzcom , xyzcom , axyzcom ইত্যাদি প্রযোজ্য।

পাবলিক co.uk উদাহরণ - com , edu , uk , co.uk , blogspot.com , compute.amazonaws.com

অদ্ভুত ডোমেন / সাবডোমেন কুকি সমস্যাগুলি আমি পেয়ে যাচ্ছি, আমি জানতে চাই যে কিভাবে ব্রাউজার কুকিজ পরিচালনা করে। যদি তারা বিভিন্ন উপায়ে এটি করে তবে এটি পার্থক্যগুলি জানতে পেরে ভাল হবে।

অন্য কথায় - যখন একটি ব্রাউজার একটি কুকি পায়, তখন কুকিটি একটি ডোমেন এবং এটিতে সংযুক্ত একটি পথ থাকতে পারে। বা না, কোন ক্ষেত্রে ব্রাউজার সম্ভবত তাদের জন্য কিছু ডিফল্ট প্রতিস্থাপন করে। প্রশ্ন 1: তারা কি?

পরে, যখন ব্রাউজার একটি অনুরোধ করতে চলেছে, এটি তার কুকি পরীক্ষা করে এবং সেই অনুরোধের জন্য পাঠানো উচিত তা ফিল্টার করে। এটি অনুরোধ পাথ এবং ডোমেনের বিরুদ্ধে তাদের সাথে মিলিয়ে তাই করে। প্রশ্ন 2: মেলা নিয়ম কি?

যোগ করা হয়েছে:

আমি এই প্রশ্ন করছি কারণ আমি কিছু প্রান্ত ক্ষেত্রে আগ্রহী। ভালো লেগেছে:

  • .example.com জন্য কুকি www.example.com জন্য উপলব্ধ হবে?
  • .example.com জন্য কুকি example.com জন্য উপলব্ধ হবে?
  • উদাহরণস্বরূপ একটি কুকি www.example.com জন্য উপলব্ধ হবে?
  • example.com জন্য কুকি example.com জন্য উপলব্ধ হবে?
  • www.example.com কুকি সেট করতে সক্ষম হবে?
  • www2.example.com জন্য কুকি সেট করতে সক্ষম www2.example.com ?
  • www.example.com .com জন্য কুকি সেট করতে সক্ষম হবে?
  • প্রভৃতি

যোগ 2:

এছাড়াও, কেউ কীভাবে কুকি সেট করতে হবে তা প্রস্তাব করতে পারে যাতে করে:

  • এটি www.example.com বা example.com দ্বারা সেট করা যেতে পারে;
  • এটি www.example.com এবং example.com উভয় দ্বারা অ্যাক্সেসযোগ্য।

এই সমস্যাটির জন্য শেষ (তৃতীয়টি ঠিক আছে) RFC- RFC-6265 (Obsoletes RFC-2965 যা অবশেষে RFC-2109 obsoletes)।

সার্ভার ডোমেন বৈশিষ্ট্যটি বাদ দিলে, ব্যবহারকারী এজেন্ট শুধুমাত্র মূল সার্ভারে (যে সার্ভারে প্রদত্ত সংস্থান থাকে সেটি) কুকিকে ফিরিয়ে দেবে। তবে এটিও সতর্ক করে যে কিছু বিদ্যমান ব্যবহারকারী এজেন্ট ডোমেন বৈশিষ্ট্যটি উপস্থিত থাকলে যেমন ডোমেন বৈশিষ্ট্য উপস্থিত ছিল এবং বর্তমান হোস্ট নামটি অন্তর্ভুক্ত করে থাকে (উদাহরণস্বরূপ, example.com যদি ডোমেন বৈশিষ্ট্য ছাড়াই একটি সেট-কুকি শিরোনাম প্রদান করে তবে এই ব্যবহারকারী এজেন্টগুলি ভুলভাবে www.example.com এ কুকি পাঠান)।

ডোমেন বৈশিষ্ট্য নির্দিষ্ট করা হয়েছে, এটি সম্পূর্ণ ডোমেইন নাম হিসাবে গণ্য করা হবে (যদি বৈশিষ্ট্য নেতৃস্থানীয় বিন্দু আছে এটি উপেক্ষা করা হবে)। এই কুকিটি পাওয়ার জন্য সার্ভারটিকে বৈশিষ্ট্যের মধ্যে নির্দিষ্ট ডোমেনটি মিলবে (ঠিক একই ডোমেন নাম বা এটির একটি সাবডোমেন হতে হবে)। আরো সঠিকভাবে domain-match

সুতরাং, উদাহরণস্বরূপ:

  • কুকি বৈশিষ্ট্য Domain=.example.com Domain=example.com সমতুল্য
  • যেমন ডোমেন বৈশিষ্ট্য সঙ্গে কুকিজ example.com এবং www.example.com জন্য উপলব্ধ হবে
  • যেমন ডোমেন বৈশিষ্ট্য সঙ্গে কুকি অন্য- example.com জন্য উপলব্ধ হবে না
  • Domain=www.example.com মত কুকি বৈশিষ্ট্য নির্দিষ্ট করে www4.example.com এর জন্য পথ বন্ধ করবে

পিএস: ডোমেন এ্যাট্রিবিউটের পিছনে কমা ব্যবহারকারীর এজেন্টটির বৈশিষ্ট্যটি উপেক্ষা করবে = (


আমি কুকি প্রত্যাখ্যান সম্পর্কে বিভাগ 3.3.2 পড়তে অবাক হয়েছি:

http://tools.ietf.org/html/rfc2965

এটি একটি ব্রাউজারকে xzzcom থেকে ডোমেইনের .z.com দিয়ে একটি কুকি প্রত্যাখ্যান করা উচিত, কারণ 'xy' একটি বিন্দু ধারণ করে। সুতরাং, যদি না আমি RFC এবং / অথবা উপরের প্রশ্নগুলি ভুল বুঝাই, তবে প্রশ্ন যোগ করা যেতে পারে:

.Example.com এর জন্য একটি কুকি www.yyy.example.com এর জন্য উপলব্ধ হবে? না।

ডোমেন .example.com এর সাথে মূল সার্ভার www.yyy.example.com দ্বারা সেট করা একটি কুকি, এটি কি ব্যবহারকারীর এজেন্ট xxx.example.com এ প্রেরিত মান আছে? না।


যদিও RFC 2965 ( Set-Cookie2 , ইতিমধ্যে RFC 2109 Set-Cookie2 ) যা আজকাল কুকি সংজ্ঞায়িত করা উচিত , তবে বেশিরভাগ ব্রাউজার এটি পুরোপুরি সমর্থন করে না তবে কেবল নেটস্কেপের মূল স্পেসিফিকেশন মেনে চলে।

ডোমেন বৈশিষ্ট্য মান এবং কার্যকরী ডোমেনের মধ্যে একটি পার্থক্য রয়েছে: প্রাক Set-Cookie হেডার ফিল্ড থেকে নেওয়া হয়েছে এবং পরবর্তীটি সেই গুণমানের মানটির ব্যাখ্যা। আরএফসি ২965 অনুসারে, নিম্নলিখিতগুলি প্রয়োগ করা উচিত:

  • যদি সেট-কুকি শিরোলেখ ক্ষেত্রটিতে ডোমেন বৈশিষ্ট্য না থাকে তবে কার্যকরী ডোমেন অনুরোধের ডোমেন।
  • যদি ডোমেন এ্যাট্রিবিউট উপস্থিত থাকে, তবে এর মূল্য কার্যকরী ডোমেন হিসাবে ব্যবহার করা হবে (যদি মান এটি দিয়ে শুরু হয় না . এটি ক্লায়েন্ট দ্বারা যোগ করা হবে)।

কার্যকরী ডোমেন থাকা সত্ত্বেও বর্তমান অনুরোধকৃত ডোমেনটিকে সেট করার জন্য domain-match করতে হবে; অন্যথায় কুকি সংশোধন করা হবে। একটি অনুরোধ পাঠানো কুকিজ নির্বাচন করার জন্য একই নিয়ম প্রযোজ্য।

আপনার প্রশ্নের উপর এই জ্ঞান ম্যাপিং, নিম্নলিখিত প্রয়োগ করা উচিত:

  • Domain=.example.com দিয়ে কুকি www.example.com এর জন্য উপলব্ধ হবে
  • Domain=.example.com দিয়ে কুকি example.com এর জন্য উপলব্ধ হবে
  • Domain=example.com সাথে কুকি .example.com রূপান্তর করা হবে এবং এইভাবে www.example.com এর জন্য উপলব্ধ হবে
  • Domain=example.com দিয়ে কুকি anotherexample.com এর জন্য উপলব্ধ হবে না
  • www.example.com example.com এর জন্য কুকি সেট করতে সক্ষম হবেন
  • www.example.com www2.example.com এর জন্য কুকি সেট করতে পারবে না
  • www.example.com .com এর জন্য কুকি সেট করতে পারবে না

এবং www.example.com এবং example.com এর জন্য একটি কুকি সেট এবং পড়তে, যথাক্রমে .www.example.com এবং .www.example.com জন্য সেট করুন। তবে প্রথম ( .www.example.com ) শুধুমাত্র সেই ডোমেনে নীচের অন্যান্য ডোমেনগুলির জন্য অ্যাক্সেসযোগ্য হবে (যেমন foo.www.example.com বা bar.www.example.com ) যেখানে .example.com যে কোনও দ্বারা অ্যাক্সেস করা যেতে পারে example.com এর অন্যান্য ডোমেইন (যেমন foo.example.com বা bar.example.com )।


RFCs বাস্তবতা প্রতিফলিত না পরিচিত হয়।

ভাল পরীক্ষা draft-ietf-httpstate-cookie , অগ্রগতি কাজ।


www.example.com .com জন্য কুকি সেট করতে সক্ষম হবে?

না, কিন্তু example.com.fr example2.com.fr . example2.com.fr জন্য একটি কুকি সেট করতে সক্ষম হতে পারে। ফায়ারফক্স টিএলডিগুলির তালিকা বজায় রেখে এটি রক্ষা করে: http://securitylabs.websense.com/content/Blogs/3108.aspx

দৃশ্যত ইন্টারনেট এক্সপ্লোরার দুই-অক্ষর ডোমেইন কুকিজ সেট করার অনুমতি দেয় না, যা আমি মনে করি o2.ie কেবল o2.ie পুনঃনির্দেশিত কেন। আমি প্রায়শই ভাবতাম।


একটি বিস্তৃত কভারেজের জন্য RFC2965 এর সামগ্রী পর্যালোচনা করুন। অবশ্যই যে সমস্ত ব্রাউজার ঠিক একই ভাবে আচরণ মানে না।

তবে সাধারণভাবে ডিফল্টের জন্য নিয়মটি যদি কুকির মধ্যে কোনও নির্দিষ্ট না থাকে তবে সেটি URL- এ যেথেকে সেট-কুকি হেডার এসেছে। অনুরূপভাবে ডোমেনের জন্য ডিফল্ট হল URL- এ পূর্ণ হোস্ট নাম যা সেট-কুকি এসেছে।

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

যোগ প্রতিক্রিয়া:

  • .Example.com এর জন্য কুকি www.example.com এর জন্য উপলব্ধ হবে? হাঁ
  • .Example.com এর জন্য কুকি example.com এর জন্য উপলব্ধ হবে? জানি না
  • উদাহরণস্বরূপ একটি কুকি www.example.com এর জন্য উপলব্ধ হবে? কিন্তু না ... *
  • Example.com এর জন্য কুকি anotherexample.com এর জন্য উপলব্ধ হবে? না
  • Www.example.com উদাহরণস্বরূপ কুকি সেট করতে সক্ষম হবে? হাঁ
  • Www.example.com www2.example.com এর জন্য কুকি সেট করতে সক্ষম হবেন? না (.example.com এর মাধ্যমে ছাড়া)
  • Www.example.com .com এর জন্য কুকি সেট করতে সক্ষম হবে? না ( কোন কুকি এটি নামস্থানটিকে উচ্চ করে তুলতে পারে না এবং আপনি .co.uk এর মত কিছু সেট করতে পারবেন না)

* আমি এই মুহুর্তে পরীক্ষা করতে পারছি না কিন্তু আমার একটি ইনক্লিং আছে যে কমপক্ষে IE7 / 6 পাথ example.com ব্যবহার করবে যেমন এটি .example.com







rules