স্পষ্ট ডোমেন সহ লোকালহোস্টের কুকিজ


191

আমি অবশ্যই কুকিজ সম্পর্কে কিছু প্রাথমিক জিনিস অনুপস্থিত। লোকালহোস্টে, যখন আমি সার্ভার সাইডে একটি কুকি সেট করি এবং ডোমেনটি লোকালহোস্ট (বা .localhost) হিসাবে স্পষ্টভাবে নির্দিষ্ট করি। কুকি কিছু ব্রাউজার দ্বারা গৃহীত হয়েছে বলে মনে হয় না।

ফায়ারফক্স 3.5 I আমি যা দেখছি তা হ'ল:

Set-Cookie:
    name=value;
    domain=localhost;
    expires=Thu, 16-Jul-2009 21:25:05 GMT;
    path=/

বা (যখন আমি .localhost এ ডোমেন সেট করি):

Set-Cookie:
    name=value;
    domain=.localhost;
    expires=Thu, 16-Jul-2009 21:25:05 GMT;
    path=/

উভয় ক্ষেত্রেই কুকি সংরক্ষণ করা হয় না।

আইই 8: আমি কোনও অতিরিক্ত সরঞ্জাম ব্যবহার করি নি, তবে কুকিটিও সংরক্ষণ করা হবে বলে মনে হচ্ছে না, কারণ পরবর্তী অনুরোধগুলিতে এটি ফেরত পাঠানো হচ্ছে না।

অপেরা 9.64: লোকালহোস্ট এবং .localhost উভয়ই কাজ করে তবে আমি যখন পছন্দগুলিতে কুকিগুলির তালিকাটি পরীক্ষা করি তখন ডোমেনটি লোকালহোস্ট.লোকলে সেট করা থাকে যদিও এটি স্থানীয় হোস্টের অধীনে তালিকাভুক্ত করা হয় (তালিকার গ্রুপিংয়ে)।

সাফারি 4: লোকালহোস্ট এবং .localhost উভয়ই কাজ করে তবে সেগুলি সর্বদা পছন্দগুলিতে .localhost হিসাবে তালিকাভুক্ত থাকে। অন্যদিকে, একটি স্পষ্ট ডোমেন ছাড়াই একটি কুকি, এটি কেবল লোকালহোস্ট হিসাবে দেখানো হচ্ছে (কোনও বিন্দু নয়)।

লোকালহোস্ট নিয়ে সমস্যা কী? এরকম অনেকগুলি অসঙ্গতির কারণে লোকালহোস্টের সাথে জড়িত কিছু বিশেষ নিয়ম থাকতে হবে। এছাড়াও, এটি আমার কাছে সম্পূর্ণ পরিষ্কার নয় যে ডোমেনগুলি কেন কোনও বিন্দুর দ্বারা উপস্থাপিত করা উচিত? আরএফসি 2109 স্পষ্টভাবে বলেছে যে:

ডোমেন বৈশিষ্ট্যের মানটিতে কোনও এমবেডড ডট থাকে না বা কোনও বিন্দু দিয়ে শুরু হয় না।

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


13
6 বছরের পুরানো থ্রেড এবং এটি এখনও একটি সমস্যা। আমি ক্রোম ভি 40 ব্যবহার করছি। এখানে দেখুন ।
গউই

5
ক্রোম 43 ... এখনও একটি বাগ।
ইভান ক্যারল

4
ক্রোম 54 এখানে, সমাধান হয়নি
ওয়াহিদ আমিরি

6
ক্রোম 73 .. এখনও একই সমস্যার মুখোমুখি। :(
কোড_ক্র্যাশ

2
কেউ কি এই সমাধান করতে পারে? এখনও একই এস *** এর মুখোমুখি .. এই উত্তরটি দেখুন
Bonjour123

উত্তর:


235

ডিজাইন অনুসারে, ডোমেন নামগুলিতে কমপক্ষে দুটি বিন্দু থাকতে হবে; অন্যথায় ব্রাউজার এগুলিকে অবৈধ মনে করবে। ( Http://curl.haxx.se/rfc/cookie_spec.html এ রেফারেন্স দেখুন )

কাজ করার সময় localhost, কুকি ডোমেনটি পুরোপুরি বাদ দিতে হবে। শুধু তা সেটিং ""বা NULLবা FALSEপরিবর্তে "localhost"যথেষ্ট নয়।

পিএইচপি-র জন্য, http://php.net/manual/en/function.setcookie.php#73107 এ মন্তব্যগুলি দেখুন ।

যদি জাভা সার্ভলেট এপিআইয়ের সাথে কাজ করা হয় তবে cookie.setDomain("...")পদ্ধতিটিকে একেবারেই কল করবেন না ।


93
সকলেই কেন এটি +1 করছে তা নিশ্চিত নয়, আমি কুকির ডোমেনটি বাতিল বা মিথ্যা বা খালি স্ট্রিংয়ে সেট করেছি এবং লোকালহোস্টে থাকলে এটি এখনও সংরক্ষণ করে না।
জাস্টিন

5
আমি ডোমেইনে দুই বিন্দু সম্পর্কে RFC6265 কোথাও দেখছি না: tools.ietf.org/html/rfc6265#section-5.2.3 নেট আপনার স্থানীয় ডোমেনের সমস্ত হোস্টের জন্য ".local" থেকে এটি সেট বলেছেন। অপেরা সঙ্গে সামঞ্জস্যপূর্ণ বলে মনে হয় যা / সাফারি msdn.microsoft.com/en-us/library/ckch3yd2.aspx
MandoMando

9
@ জাস্টিন: এইচএম, Domain=কুকি সেট করার সময় আপনাকে সম্ভবত প্যারামিটারটি পুরোপুরি বাদ দিতে হবে । আপনি যদি কেবলমাত্র ডোমেনটি বাতিল বা ফাঁকাতে সেট করেন, সম্ভবত আপনার কাঠামোটি Domain=বাদ দেওয়ার পরিবর্তে সেই মানটির সাথে প্যারামিটারটি প্রেরণ করবে? যেমন ফায়ারব্যাগ দিয়ে পরীক্ষা করুন।
sleske

2
@ র‌্যালফ, এক মিলিয়ন ধন্যবাদ, এই জিনিসটি আমাকে কয়েক ঘন্টার জন্য উন্মাদ করে রেখেছে। আশা করা যায় যে ডোমেনটি বাতিল করতে হবে (আমি একটি। নেট সার্ভার স্ট্যাকের মধ্যে আছি) মনোযোগের মতো কাজ করে।
জোস ল্লুইস

4
এটি কিছুটা খারাপ শব্দ করা হয়। "নাল বা মিথ্যা বা খালি স্ট্রিং সেট করে" পড়তে হবে "কুকির 'ডোমেন' অংশটি সেট করা মোটেই নয়"। উদাহরণস্বরূপ, কুকির ডোমেন বিভাগ সম্পূর্ণভাবে ছাড়ার জন্য একটি সাধারণ পরীক্ষা ব্যবহার করে লোকালহোস্টের পক্ষে কাজ করে:((domain && domain !== "localhost") ? ";domain="+domain : "")
L0j1k

33

আমি @ র‌্যাল্ফ বুফফিল্ডারের সাথে বিস্তৃতভাবে একমত, তবে আমার স্থানীয় মেশিনে বেশ কয়েকটি সাবডোমেন (যেমন উদাহরণ ডটকম, ফ্র.এক্স.কমল.কম, ডি.এক্স.কম.কম) এর সাথে একটি প্রতিলিপি তৈরির চেষ্টা করার সময় পরীক্ষামূলকভাবে এর কিছুটা প্রশস্তকরণ এখানে দেওয়া হয়েছে ( ওএস এক্স / অ্যাপাচি / ক্রোম | ফায়ারফক্স)।

আমি 127.0.0.1 তে কিছু কাল্পনিক সাবডোমেনগুলি নির্দেশ করতে / ইত্যাদি / হোস্টগুলি সম্পাদনা করেছি:

127.0.0.1 localexample.com
127.0.0.1 fr.localexample.com
127.0.0.1 de.localexample.com

আমি যদি fr.localexample.com এ কাজ করছি এবং আমি ডোমেন প্যারামিটারটি বাইরে রেখে দিই, কুকি fr.localexample.com এর জন্য সঠিকভাবে সংরক্ষণ করা হয়েছে, তবে অন্যান্য সাবডোমেনগুলিতে দৃশ্যমান নয়।

আমি যদি ".localexample.com" এর একটি ডোমেন ব্যবহার করি তবে কুকি fr.localexample.com এর জন্য সঠিকভাবে সংরক্ষণ করা হয় এবং অন্য সাবডোমেনগুলিতে দৃশ্যমান।

আমি যদি "লোকালেক্সাম্পেল.কম" এর একটি ডোমেন ব্যবহার করি বা আমি যখন কেবল "লোকালেক্সাম্পল" বা "লোকালহোস্ট" এর একটি ডোমেন চেষ্টা করছিলাম তখন কুকিটি সংরক্ষণ করা হচ্ছিল না।

যদি আমি "fr.localexample.com" বা ".fr.localexample.com" এর একটি ডোমেন ব্যবহার করি, কুকি fr.localexample.com এর জন্য সঠিকভাবে সংরক্ষণ করা হয় এবং অন্য সাবডোমেনগুলিতে (সঠিকভাবে) অদৃশ্য।

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

যদি কেউ এটি চেষ্টা করে দেখতে চান তবে এখানে কয়েকটি দরকারী কোড রয়েছে:

<html>
<head>
<title>
Testing cookies
</title>
</head>
<body>
<?php
header('HTTP/1.0 200');
$domain = 'fr.localexample.com';    // Change this to the domain you want to test.
if (!empty($_GET['v'])) {
    $val = $_GET['v'];
    print "Setting cookie to $val<br/>";
    setcookie("mycookie", $val, time() + 48 * 3600, '/', $domain);
}
print "<pre>";
print "Cookie:<br/>";
var_dump($_COOKIE);
print "Server:<br/>";
var_dump($_SERVER);
print "</pre>";
?>
</body>
</html>

30

লোকালহোস্ট: আপনি ব্যবহার করতে পারেন: domain: ".app.localhost"এবং এটি কার্যকর হবে। ডোমেন 'প্যারামিটার 1 বা বেশি ডট প্রয়োজন কুকিজ সেট জন্য ডোমেন নামে। তারপর আপনি যেমন স্থানীয় হোস্ট সাবডোমেন জুড়ে কাজ সেশন আছে করতে পারেন: api.app.localhost:3000


1
এক্সপ্রেস 3.x ব্যবহার করে একটি নোড.জেএস সার্ভারেও পরীক্ষিত এবং কাজ করেexpress.session({cookie: { domain: '.app.localhost', maxAge: 24 * 60 * 60 * 1000 }})
এমপিটি

3
আপনি যদি স্থানীয় ডোমেন ব্যবহার করছেন তবে এই উত্তর হিসাবে নির্বাচন করা উচিত! সাবডোমেনটি আমার ইস্যুটি ঠিক করার আগে একটি বিন্দু রেখে দেয়।
ফক্সহাউন্ডন

1
সুতরাং, কোথা .app.থেকে আসছে এই প্রিপেন্ডিং ? এটি কি কিছু স্পেকের অংশ? এবং এটি কি সমস্ত অ-সঙ্গতিপূর্ণ ডোমেনগুলির জন্য প্রযোজ্য (দুটি বিন্দুবিহীন)? এছাড়াও, এটি পুরানো ব্রাউজারগুলির সাথে কাজ করবে? : ^)
ব্যবহারকারী 2173353

ওহ ... আমি এখন বুঝতে পারি ... এটি ব্রাউজারগুলিকে বোকা বানানোর কৌশল মাত্র। ঠিক আছে.
ব্যবহারকারী 2173353

14

কুকি যখন 'লোকালহোস্ট' এর স্পষ্ট ডোমেনের সাথে সেট করা থাকে ...

সেট-কুকি: নাম = মান; ডোমেন = লোকালহোস্ট ; মেয়াদ শেষ হবে = থু, 16-জুলাই -2009 21:25:05 GMT; পাথ = /

... তারপরে ব্রাউজারগুলি এটিকে উপেক্ষা করে কারণ এতে কমপক্ষে দুটি পিরিয়ড অন্তর্ভুক্ত নয় এবং বিশেষত পরিচালিত, শীর্ষ স্তরের ডোমেনগুলির মধ্যে একটি নয়

... ফর্মের ডোমেনগুলি রোধ করতে তাদের ডোমেনগুলির কমপক্ষে দুটি (2) বা তিন (3) পিরিয়ড থাকতে হবে: ".com", ".edu", এবং "va.us"। নীচে তালিকাভুক্ত সাতটি বিশেষ শীর্ষ স্তরের ডোমেনগুলির মধ্যে একটির মধ্যে ব্যর্থ যে কোনও ডোমেনের জন্য কেবল দুটি পিরিয়ডের প্রয়োজন। অন্য যে কোনও ডোমেইনের জন্য কমপক্ষে তিনটি প্রয়োজন। বিশেষ সাতটি শীর্ষ স্তরের ডোমেনগুলি হ'ল: "সিওএম", "ইডিইউ", "নেট", "ওআরজি", "জিওভি", "মিল", এবং "আইএনটি"।

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

কমপক্ষে একটি (1) বা দুটি (2) পিরিয়ড

নোট করুন যে ডোমেন বৈশিষ্ট্যের জন্য ডিফল্ট মান হ'ল সার্ভারটির হোস্ট নাম যা কুকি প্রতিক্রিয়া তৈরি করে

সুতরাং লোকালহোস্টের জন্য কুকিজের জন্য সেট করা না হওয়ার জন্য একটি ডোমেন বৈশিষ্ট্য নির্দিষ্ট করা এবং ব্রাউজারটিকে ডিফল্ট মানটি ব্যবহার না করা - এটি ডোমেন অ্যাট্রিবিউটের একটি সুস্পষ্ট মানের মতো একই বাধা রয়েছে বলে মনে হয় না।


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

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

1
ডোমেনটি নাল ছেড়ে যাওয়া (একে একে সেট করে না) ক্রোমকে লোকালহোস্টের জন্য কুকি রাখে না। এটি এখনও এটি উপেক্ষা করে। নোট করুন যে এটি কেবলমাত্র "স্থায়ী" কুকিজের ক্ষেত্রে (মেয়াদোত্তীর্ণ তারিখ নির্ধারণ করে) এর ক্ষেত্রে প্রযোজ্য, কারণ এটি লোকালহোস্টের জন্য "সেশন" কুকিগুলিতে ঝুলবে (যেগুলি মেয়াদ শেষ হওয়ার তারিখ সেট করে না)।
ট্রায়ঙ্কো

3

ব্রাউজারের মাধ্যমে আমি বিভিন্ন ফলাফল পেয়েছি।

Chrome- 127.0.0.1 কাজ করেছে কিন্তু লোকালহোস্ট। লোকালহোস্ট এবং "" করেনি। ফায়ারফক্স-। লোকালহোস্ট কাজ করেছে কিন্তু লোকালহোস্ট, 127.0.0.1, এবং "" হয়নি।

অপেরা, আইই বা সাফারিতে পরীক্ষা করে নি


3
এটি কেবল Chrome V.22.0.1229.94 মি দিয়ে পরীক্ষা করেছে: Domain=প্যারামিটারের কাজ না দিয়ে লোকালহোস্টের জন্য একটি কুকি সেট করা । Domain=এছাড়াও কাজ করে, কিন্তু Domain=localhostনা।
sleske

3

এই সমস্যাটি নিজেরাই সমস্যার সমাধান করতে প্রচুর সময় ব্যয় করেছেন।

পিএইচপি ব্যবহার করে, এবং এই পৃষ্ঠায় কিছুই আমার পক্ষে কাজ করে না। আমি শেষ পর্যন্ত আমার কোডে উপলব্ধি করেছিলাম যে পিএইচপি-র সেশন_সেট_কুকি_প্রেমগুলি () এর 'সুরক্ষিত' প্যারামিটারটি সর্বদা সত্যে সেট করা থাকে।

যেহেতু আমি https- র সাথে লোকালহোস্ট ঘুরে দেখিনি আমার ব্রাউজারটি কখনই কুকি গ্রহণ করবে না। সুতরাং, আমি আমার কোডের সেই অংশটি পরিবর্তন করে শর্তাধীনভাবে $ $SERVER ['HTTP_HOST'] 'লোকালহোস্ট' বা না থাকার উপর ভিত্তি করে 'সুরক্ষিত' পরম সেট করেছিলাম। এখন ভাল কাজ করছি।

আমি আশা করি এটা কারো সাহায্যে লাগবে.


2

যদি আপনি অন্য ডোমেইন থেকে কুকি সেট করে থাকেন (যেমন আপনি এক্সএইচআর ক্রস অরিজিন অনুরোধ করে কুকি সেট করেছেন), তবে আপনাকে এখানেwithCredentials বর্ণিত কুকি আনার জন্য XMLHttpRequest ব্যবহার করার জন্য XMLHttpRequest ব্যবহার করে সত্যটি নির্ধারণ করতে হবে তা নিশ্চিত করতে হবে


হ্যাঁ সেই সাথে। এটি ক্রস-ডোমেন অনুরোধগুলির সাথে এখনও কাজ করে না। ব্রাউজার - সাফারি, আইই 11
রোহিত কুমার

2

আপনি এটি ব্যবহার করতে পারেন localhost.orgবা বরং .localhost.orgএটি সর্বদা সমাধান করবে127.0.0.1


1

আমি স্থানীয়ভাবে ডোমেন হিসাবে 127.0.0.1 ব্যবহার করে ভাগ্যের অনেক ভাল পরীক্ষা করেছি। আমি নিশ্চিত না কেন, তবে লোকালহোস্ট এবং। লোকালহোস্ট ইত্যাদির সাথে আমার মিশ্র ফলাফল ছিল


1

প্রস্তাবিত কোনও ফিক্স আমার পক্ষে কাজ করেনি - এটিকে বাতিল, মিথ্যা, দুটি বিন্দু যুক্ত ইত্যাদির জন্য সেট করে - কাজ করে না।

শেষ পর্যন্ত, আমি কেবল ডোমেইনটি কুকি থেকে সরিয়ে ফেললাম যদি এটি লোকালহোস্ট হয় এবং এটি এখন Chrome 38 এ আমার জন্য কাজ করে ।

পূর্ববর্তী কোড (কার্যকর হয়নি):

document.cookie = encodeURI(key) + '=' + encodeURI(value) + ';domain=.' + document.domain + ';path=/;';

নতুন কোড (এখন কাজ করছে):

 if(document.domain === 'localhost') {
        document.cookie = encodeURI(key) + '=' + encodeURI(value) + ';path=/;' ;
    } else {
        document.cookie = encodeURI(key) + '=' + encodeURI(value) + ';domain=.' + document.domain + ';path=/;';
    }

1

আমার একই সমস্যা ছিল এবং আমি কোনও ডোমেন নির্দিষ্ট না করেই কুকি নামে 2 টি বিন্দু রেখে এটি ঠিক করেছিলাম।

set-cookie: name.s1.s2=value; path=/; expires=Sun, 12 Aug 2018 14:28:43 GMT; HttpOnly

1

সেখানে যখন আপনি ব্যবহার একটি বিষয় মনে করা হয় https://<local-domain>এবং তারপর http://<local-domain>http://সাইট পর অনুরোধ সঙ্গে কুকি পাঠায় না https://সাইটটি সেট তাদের। জোর করে পুনরায় লোড করুন এবং পরিষ্কার ক্যাশে সাহায্য করবে না। কুকিগুলির কেবল ম্যানুয়াল ক্লিয়ারিং কাজ করে। এছাড়াও, আমি যদি https://পৃষ্ঠায় সেগুলি সাফ করি , তবে http://পৃষ্ঠাটি আবার কাজ শুরু করে।

"কঠোর সুরক্ষিত কুকিজ" এর সাথে সম্পর্কিত বলে মনে হচ্ছে। এখানে ভাল ব্যাখ্যা । এটি ক্রোম 58 এ 2017-04-19 এ প্রকাশিত হয়েছিল

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

কিন্তু Developer tools > Application > Cookiesএকটি অ-নিরাপদ কুকি দেখাবে না যখন একই ডোমেনের জন্য একই নামের একটি নিরাপদ কুকি, না এটা কোনো অনুরোধ সঙ্গে অ-নিরাপদ কুকি পাঠাতে হবে। এটি কোনও ক্রোম বাগের মতো মনে হয়, বা যদি এই আচরণটি প্রত্যাশিত হয় তবে কোনও httpপৃষ্ঠায় থাকা অবস্থায় সুরক্ষিত কুকিগুলি দেখার কোনও উপায় থাকতে হবে এবং ইঙ্গিত দেওয়া হয় যে সেগুলি ওভাররাইড হচ্ছে।

ওয়ার্কআরআউন্ড হ'ল কোনও HTTP সাইট বা https সাইটের জন্য কিনা তার উপর নির্ভর করে বিভিন্ন নামযুক্ত কুকি ব্যবহার করা এবং আপনার অ্যাপ্লিকেশনে নির্দিষ্ট করে তাদের নামকরণ করা। একটি __Secure-উপসর্গ ইঙ্গিত দেয় যে কুকি কঠোরভাবে সুরক্ষিত হওয়া উচিত, এবং এটিও একটি ভাল অনুশীলন কারণ নিরাপদ এবং অ-সুরক্ষিত সংঘর্ষে সংঘবদ্ধ হবে না। আছে অন্যান্য সুবিধা উপসর্গ খুব করতে।

/etc/hostsHttps বনাম HTTP অ্যাক্সেসের জন্য বিভিন্ন ডোমেন ব্যবহার https://localhostকরাও কার্যকর হবে , তবে একটি দুর্ঘটনাক্রমে ভিজিট একই নামের কোনও কুকিজকে সাইটে কাজ করতে বাধা দেবে http://localhost- সুতরাং এটি ভাল কাজ নয় work

আমি একটি ক্রোম বাগ রিপোর্ট দায়ের করেছি ।


0

ডকুমেন্ট.কুকি = ভ্যালেনেনাম + "=" + মান + ";" + মেয়াদউত্তীর্ণ + "; ডোমেন =; পথ = /";

এই "ডোমেন =; পথ = /"; গতিশীল ডোমেন গ্রহণ করবে কারণ এর কুকি সাবডোমেনে কাজ করবে। আপনি যদি লোকালহোস্টে পরীক্ষা করতে চান তবে এটি কার্যকর হবে


0

এখানে উত্তরগুলির কোনওটিই আমার পক্ষে কার্যকর হয়নি। আমি আমার পিএইচপিটিকে পৃষ্ঠায় খুব প্রথম জিনিস হিসাবে স্থাপন করে ঠিক করেছি।

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

Http://php.net/manual/en/function.setcookie.php থেকে


যদিও ইস্যুটির সাথে এর কোনও যোগসূত্র নেই, এটি কেবল শিরোনামের আগে অন্য কোনও আউটপুট প্রেরণ করার ভুল করছে না
মার্নেস

0

২০১১ সাল থেকে ক্রোমিয়াম খোলা নিয়ে একটি সমস্যা রয়েছে যে আপনি যদি স্পষ্টভাবে ডোমেনটিকে 'লোকালহোস্ট' হিসাবে সেট করে থাকেন তবে আপনার এটি হিসাবে falseবা হিসাবে সেট করা উচিত undefined


0

আমি কিছুটা খেলছিলাম।

Set-Cookie: _xsrf=2|f1313120|17df429d33515874d3e571d1c5ee2677|1485812120; Domain=localhost; Path=/

ফায়ারফক্স এবং ক্রোমে আজকের মতো কাজ করে। তবে, এটি কার্ল দিয়ে কাজ করার কোনও উপায় খুঁজে পাইনি। আমি হোস্ট-শিরোনাম চেষ্টা করেছি - - সমাধান করুন, ভাগ্য নেই, কোনও সহায়তা প্রশংসিত হয়েছে।

তবে এটি curl এ কাজ করে যদি আমি এটি সেট করি

Set-Cookie: _xsrf=2|f1313120|17df429d33515874d3e571d1c5ee2677|1485812120; Domain=127.0.0.1; Path=/

পরিবর্তে. (যা ফায়ারফক্সের সাথে কাজ করে না))


0

আরেকটি গুরুত্বপূর্ণ বিশদ, মেয়াদ শেষ হবে = নিম্নলিখিত তারিখের সময় ফর্ম্যাটটি ব্যবহার করা উচিত: Wdy, DD-Mon-YYYY এইচ: এমএম: এসএস জিএমটি ( আরএফসি 6265 - বিভাগ 4.1.1 )।

Set-Cookie:
  name=value;
  domain=localhost;
  expires=Thu, 16-07-2019 21:25:05 GMT;
  path=/

5
-1 কুকিজের জন্য বর্তমান বৈশিষ্টটি আরএফসি 6265, সরঞ্জাম. ietf.org/html/rfc6265 , যা স্পষ্টভাবে বলে যে 4-অঙ্কের বছর অনুমোদিত। সুতরাং 2-অঙ্কের বছর ব্যবহার করা খারাপ ধারণা, যা বিভিন্ন ব্রাউজারগুলি আলাদাভাবে ব্যাখ্যা করবে।

সঠিক। রেফ আরএফসি 6265 বিভাগ 4.1.1
জেন কার্ট

4
সঠিক, তবে ২০১১ সালের জুনে আমি এই আরএফসিটি পাইনি। সুতরাং যখন এই তথ্যটি এখন ভুল, আমি যখন লিখেছিলাম তখন এটি ছিল না।
ট্র্যালামাজা

4
এটিকে সামান্য হিসাবে গ্রহণ করবেন না, জিনিসগুলি পরিবর্তিত হয় এবং উত্তরগুলি বর্তমান থাকে তা নিশ্চিত করার জন্য আমাদের সকলের সহায়তা করা দরকার। @ সলেসকে আপনাকে যে সর্বশেষ তথ্য দিয়েছিল তা দিয়ে আপনার উত্তরটি আপডেট করুন এবং তাঁর সহায়তার জন্য তাকে ধন্যবাদ জানাই।
ম্যাথু পারডন

0

বিভিন্ন পরীক্ষার পরে এবং বিভিন্ন পোস্ট পড়ার পরে, এটি কাজ করে। আমি একাধিক কুকি সেট করতে পারি, সেগুলি আবার পড়তে পারি এবং সময়টিকে নেতিবাচক সেট করে তা মুছতে পারি।

func addCookie(w http.ResponseWriter, name string, value string) {
    expire := time.Now().AddDate(0, 0, 1)
    cookie := http.Cookie{
       Name:    name,
       Value:   value,
       Expires: expire,
       Domain:  ".localhost",
       Path:    "/",
    }
    http.SetCookie(w, &cookie)
}

0

আমার পক্ষে একমাত্র কাজটি ছিল Path=/কুকি স্থাপন করা।

তদুপরি, কোনও পথের বৈশিষ্ট্যের ডিফল্ট মান ব্রাউজার থেকে ব্রাউজারের থেকে আলাদা বলে মনে হয় যদিও আমি তাদের মধ্যে কেবল দুটি (ফায়ারফক্স এবং ক্রোম) পরীক্ষা করেছি।

ক্রোম যেমন একটি কুকি সেট করার চেষ্টা করে; শিরোনামে যদি pathবৈশিষ্ট্য বাদ দেওয়া হয় Set-Cookieতবে তা সংরক্ষণ করা হবে এবং উপেক্ষা করা হবে না।

তবে, ফায়ারফক্স একটি স্পষ্ট pathবৈশিষ্ট্য ছাড়াই একটি কুকি সংরক্ষণ করে । এটি কেবল অনুরোধকৃত পথ দিয়ে সেট করেছে; আমার অনুরোধ url ছিল /api/v1/usersএবং পথটি /api/v1স্বয়ংক্রিয়ভাবে সেট হয়ে গেছে ।

যাইহোক, উভয় ব্রাউজার যখন স্পষ্ট ডোমেন, এমনকি কিছু না pathকরে /এমনকি সেট করা থাকে তখন কাজ করেছিল Domain=localhost। সুতরাং প্রতিটি ব্রাউজার কীভাবে কুকিগুলি পরিচালনা করে তার মধ্যে কিছু পার্থক্য রয়েছে।

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