سؤال

هل هناك أي طريقة لتعيين ملف تعريف الارتباط لا قابلة للقراءة على النطاقات الفرعية؟بمعنى آخر، اجعل ملف تعريف الارتباط متاحًا على domain.com, ، لكن لا www.domain.com أو xyz.domain.com.

//this is what i'm "intending"...
setcookie($name,$value,$expires,'/','domain.com');
//however, this is how it behaves:
setcookie($name,$value,$expires,'/','.domain.com');

السبب:أقوم بإعداد CDN ثابت على نطاق فرعي ولا أريد أن تتحرك ملفات تعريف الارتباط لجلسة المستخدم ذهابًا وإيابًا لكل صورة، وملف CSS، وملف JS، وما إلى ذلك.

... هل يجب أن أعود إلى الاستخدام www.domain.com لموقعي؟هل يوجد اى اعمال فى الجوار؟

هل كانت مفيدة؟

المحلول

من الواضح أن وجود ملف تعريف ارتباط على "domain.com" يتطابق مع "*.domain.com" هو سلوك متوقع.

على سبيل المثال : ملفات تعريف الارتباط الخاصة بحالة العميل الدائمة ولاية (بعض التركيز الألغام) :

domain=DOMAIN_NAME

...
"Tail matching" means that domain attribute is matched against the tail of the fully qualified domain name of the host. A domain attribute of "acme.com" would match host names "anvil.acme.com" as well as "shipping.crate.acme.com".

يمكن فقط للمضيفين داخل المجال المحدد تعيين ملف تعريف ارتباط للمجال ويجب أن يكون عليه المجالات at least two (2) or three (3) periods "com" ، "edu" ، "net" ، "org" ، "Gov" ، "MIL" ، و "int".

لذلك، عليك إما:

  • يستخدم "www.domain.com" لموقعك
  • أو استخدم اسم نطاق مختلفًا تمامًا للمحتوى الثابت الخاص بك (مثل ".anotherdomain.com")
    • على سبيل المثال، هذا ما يتم فعله في Stackoverflow:يتم تقديم المحتوى الثابت من sstatic.net

نصائح أخرى

وهذا هو السبب وراء قيام عدد لا بأس به من المواقع (بما في ذلك هذا الموقع) بتسجيل نطاق مخصص لاستخدامه كشبكة CDN.

هذا غير ممكن كما هو الحال في مجال ملفات تعريف الارتباط الذيل متطابق ضد اسم المجال.سيكون عليك الذهاب مع www.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top