"সেমসাইট কুকিটি কারও কাছে সেট করবেন না" কীভাবে সতর্কতা ঠিক করবেন? ক্রোম এক্সটেনশন


41

আমি একটি ক্রোম এক্সটেনশন তৈরি করেছি এবং পপআপ.জেএস থেকে আমি পিএইচপি স্ক্রিপ্ট (Xhttprequest ব্যবহার করে) কল করেছি যা কুকি পড়ে। এটার মত:

$cookie_name = "mycookie";

if(isset($_COOKIE[$cookie_name]))
{
    echo $_COOKIE[$cookie_name];
}
else{
    echo "nocookie";
}

তবে আমি এক্সটেনশানগুলির ত্রুটিতে এ সতর্কতাটি পাচ্ছি।

ক্রস-সাইট সংস্থার সাথে যুক্ত একটি কুকি (এখানে আমার ডোমেন রয়েছে) SameSiteবৈশিষ্ট্য ছাড়াই সেট করা হয়েছিল । ভবিষ্যতের ক্রোমের প্রকাশ কেবল ক্রস-সাইট অনুরোধের সাথে কুকিজ বিতরণ করবে যদি সেগুলি সেট করা থাকে SameSite=NoneএবংSecure । আপনি অ্যাপ্লিকেশন> স্টোরেজ> কুকিজের অধীনে বিকাশকারী সরঞ্জামগুলিতে কুকিজ পর্যালোচনা করতে পারেন এবং https://www.chromestatus.com/feature/5088147346030592 এবং https://www.chromestatus.com/feature/5633521622188032 এ আরও বিশদ দেখতে পারেন ।

আমি এই জাতীয় একটি কুকি তৈরি করার চেষ্টা করেছি কিন্তু এটি কোনও লাভ হয়নি।

setcookie($cookie_name,$cookie_value, time() + 3600*24, "/;samesite=None ","mydomain.com", 1);

থেকে নিম্নলিখিত নির্দেশাবলী এই প্রশ্ন ।


এটি "সুরক্ষিত" যার অর্থ https, আমিও অনুমান করি।
wOxxOm

আপনি এই সমস্যাটি সমাধান করতে এই উদাহরণটি অনুসরণ করতে পারেন: stackoverflow.com/a/58723552/6215447
কোড কুকার

আপনি পিএইচপি 5.4+ তে কুকি পরিচালনা করতে একটি তৃতীয় পক্ষের লাইব্রেরি ব্যবহার করতে পারেন , একটি setcookieপ্রতিস্থাপন সরবরাহ করে যা অতিরিক্ত যুক্তি গ্রহণ করে $sameSite। যুক্তি হতে পারে None, Laxবা Strict। একটি ওওপি ইন্টারফেসও উপলব্ধ।
কাও

উত্তর:


24

আমি এটির জন্য একটি "ট্রায়াল এবং ত্রুটি" তেও আছি, তবে গুগল ক্রোম ল্যাবসের গিথুবের এই উত্তর আমাকে কিছুটা সহায়তা করেছিল। আমি এটিকে আমার মূল ফাইলে সংজ্ঞায়িত করেছি এবং এটি কাজ করেছে - ভাল, কেবলমাত্র একটি তৃতীয় পক্ষের ডোমেনের জন্য। এখনও পরীক্ষা নিচ্ছে, তবে আমি আরও ভাল সমাধান সহ এই উত্তরটি আপডেট করতে আগ্রহী :)

যদি আপনার সার্ভারের মতো আপনার 7.2 অবধি পিএইচপি থাকে:

header('Set-Cookie: cross-site-cookie=name; SameSite=None; Secure');

অথবা আপনার হোস্টটি ইতিমধ্যে 7.3 এ আপডেট করা থাকলে আপনি ব্যবহার করতে পারেন:

setcookie('cross-site-cookie', 'name', ['samesite' => 'None', 'secure' => true]);

আপনি কুকিগুলি যাচাই করে দেখার চেষ্টা করতে পারেন, নীচের পতাকাটি সক্ষম করুন, যা - তাদের নিজস্ব ভাষায় - "এই পরিবর্তন দ্বারা সম্ভাব্য প্রতিটি কুকির জন্য কনসোল সতর্কতা বার্তা যুক্ত করবে":

chrome://flags/#cookie-deprecation-messages

পুরো কোডটি এখানে দেখুন: https://github.com/GoogleChromeLabs/samesite-example/blob/master/php.md , তাদেরও কোড রয়েছে same-site-cookies


আমি পিএইচপি 7.3 ব্যবহার করছি এবং উভয় চেষ্টা করেছি (শিরোনাম এবং সেটকুকি) তবে আমি এখনও পেইপাল স্ক্রিপ্টের সাথে একটি পৃষ্ঠা লোড করার সময় সেমসাইট সতর্কতাটি পাই ... আমি এখনও লোকাল হোস্টে রয়েছি, এতে কি কোনও পার্থক্য রয়েছে?
লুব্রে

@ লুব্রে হুম হতে পারে। আমি এখনও এর মতো পরীক্ষা করিনি, তবে তা উপলব্ধি করে। এছাড়াও, আপনার লোকালহোস্টের কি এসএসএল আছে?
ডিমাস পান্তে

1
দুঃখজনকভাবে কোন স্থানীয় লোকসংবাদ সমস্যা নয়, আমি অনলাইনেও এই সতর্কতাটি অনুভব করি। আমি বলব এটি
পেপেলের

হুম ভাল ... আমি মনে করি @ আমাদের নীচে মন্তব্য করা আপনার সমস্যার সাথে খাপ খায়, সম্ভবত পেপ্যাল ​​এখনও এটি নিয়ে খুব বেশি উদ্বিগ্ন নয়: পি
ডিমাস পানতে

1
নতুন পিএইচপি 7.3 সিনট্যাক্স সরবরাহ করার জন্য ধন্যবাদ - যা আমার সমস্যার সমাধান করেছে
বিলিএনঃ

24

নতুন বৈশিষ্ট্যটি আসার সাথে সাথে SameSite=Noneকুকিজকে অবশ্যই চিহ্নিত করতে হবেSecure করতে হবে বা সেগুলি প্রত্যাখ্যান করা হবে।

ক্রোমিয়াম আপডেটগুলি এবং এই ব্লগ পোস্টে পরিবর্তন সম্পর্কে আরও তথ্য খুঁজে পেতে পারেন

বিঃদ্রঃ : প্রশ্নের সাথে সরাসরি সম্পর্কিত নয়, তবে অন্যদের জন্য যারা এখানে এসেছেন তাদের পক্ষে উপকারী হতে পারে কারণ আমার ওয়েবসাইটের বিকাশের সময় এটি প্রথমে আমার উদ্বেগ ছিল:

যদি আপনি এমন কোনও তৃতীয় পক্ষের সাইটকে তালিকাবদ্ধ করে এমন প্রশ্ন থেকে সতর্কবার্তাটি দেখছেন (আমার ক্ষেত্রে এটি ছিল google.com, হু) - এর অর্থ তাদের এটি ঠিক করা দরকার এবং এটি আপনার সাইটের সাথে করার কিছুই নেই। অবশ্যই যদি সতর্কবাণীটি আপনার সাইটের উল্লেখ না করে তবে এক্ষেত্রে সংযোজনটি Secureএটি ঠিক করা উচিত।


6
>= PHP 7.3

setcookie('key', 'value', ['samesite' => 'None', 'secure' => true]);

< PHP 7.3

exploit the path
setcookie('key', 'value', time()+(7*24*3600), "/; SameSite=None; Secure");

Emitting javascript

echo "<script>document.cookie('key=value; SameSite=None; Secure');</script>";

1
আপনার উত্তর সম্পর্কে বিবরণ তথ্যের একটি অংশ যুক্ত করুন
লিজেশ শাক্যা

ঠিক আছে এই পৃষ্ঠায় এটির একমাত্র উত্তর যা প্রকৃতপক্ষে কাজ করে এবং প্রযোজনায় কাজ করে: ডি
রবার্ট গ্রিন ১

1
দস্তাবেজ থেকে, অ্যারে কীগুলি ছোট হাতের অক্ষরে থাকা উচিত: লিঙ্ক
সবচেয়ে খারাপ

1
এটি আমার জন্য পিএইচপি 5 এবং জুমলা এবং ক্রোমে কাজ করেছিল!
হেডেন থ্রিং

1

আমি Mod_headers ইনস্টল করে ক্রোম 80 এর জন্য আমাদের উবুন্টু 18.04 / অ্যাপাচি ২.৪.২৯ / পিএইচপি .2.২ ইনস্টল ঠিক করেছি:

a2enmod headers

আমাদের অ্যাপাচি ভার্চুয়ালহস্ট কনফিগারেশনগুলিতে নিম্নলিখিত নির্দেশাবলী যুক্ত করা:

Header edit Set-Cookie ^(.*)$ "$1; Secure; SameSite=None"

এবং অ্যাপাচি পুনরায় চালু করা হচ্ছে:

service apache2 restart

দস্তাবেজগুলি পর্যালোচনা করার সময় ( http://www.balkangreenfoundation.org/manual/en/mod/mod_headers.html ) আমি লক্ষ্য করেছি যে "সর্বদা" শর্তের কিছু নির্দিষ্ট পরিস্থিতি রয়েছে যেখানে এটি প্রতিক্রিয়া শিরোনামগুলির একই পুল থেকে কাজ করে না। এইভাবে পিএইচপি দিয়ে "সর্বদা" ব্যবহার না করা আমার পক্ষে কাজ করে তবে ডকস সূচিত করে যে আপনি যদি আপনার সমস্ত ঘাঁটিটি আবরণ করতে চান তবে আপনি "সর্বদা" উভয়ই বা ছাড়া নির্দেশকে যুক্ত করতে পারেন। আমি এটা পরীক্ষা করিনি।

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