আপনি কীভাবে পিএইচপি-তে এইচটিটিপি কেবলমাত্র কুকি ব্যবহার করবেন সেট আপ করবেন


93

আমি কিভাবে আমার কুকিজ সেট করতে পারেন PHP appsযেমন HttpOnly cookies?


stackoverflow.com/questions/528405/… ব্রাউজার সমর্থন তথ্য আছে।
Kzqai

4
@ চালচলক ন, বর্তমান উত্তরগুলি এখনও অনুমোদনযোগ্য। পিএইচপি-তে কেবল HTTP- র কেবল কুকি সেটিং সম্পর্কিত 2008 এর পরে কিছুই পরিবর্তন হয়নি। কোন ব্রাউজারগুলি কেবল এইচটিটিপি-কেবল কুকি সমর্থন করে তা ভিন্ন উত্তর সহ আলাদা প্রশ্ন।
ল্যানজ

আপনি এই ব্যবহার করতে $cookie->setHttpOnly(true);দিয়ে github.com/delight-im/PHP-Cookie
কাকের ডাক

উত্তর:


94
  • জন্য আপনার কুকিজ , এই উত্তর দেখুন।
  • জন্য পিএইচপি নিজস্ব অধিবেশন কুকি ( PHPSESSIDডিফল্ট), দেখতে @ রিচি এর উত্তর

setcookie()এবং setrawcookie()ফাংশন, চালু httponlyপরামিতি, পিএইচপি 5.2.0 অন্ধকার বয়সের মধ্যে পিছনে, এই সুন্দর এবং সহজ করে। বাক্য বাক্য অনুসারে সহজভাবে para ম পরামিতিটিকে সত্য হিসাবে সেট করুন

সংশ্লেষ জন্য ফাংশন সিনট্যাক্স সরল

setcookie(    $name, $value, $expire, $path, $domain, $secure, $httponly )
setrawcookie( $name, $value, $expire, $path, $domain, $secure, $httponly )

NULLআপনি ডিফল্ট হিসাবে থাকতে চান এমন প্যারামিটারগুলির জন্য প্রবেশ করান । আপনার যদি secureপ্যারামিটারটি সেট করা উচিত হয় তবে আপনি তা বিবেচনা করতেও পারেন ।

এটি পুরানো, নিম্ন-স্তরের header()ফাংশনটি ব্যবহার করেও সম্ভব :

header( "Set-Cookie: name=value; httpOnly" );

4
পিএইচপি 8 এর নামকরণকৃত প্যারামিটারগুলির সাথে, set_cookieযদি আমাদের অন্যান্য পরামিতিগুলি সেট করার প্রয়োজন না হয় তবে আমরা শেষ পর্যন্ত কলটিকে কম ভার্বোস করতে সক্ষম হব । উদাহরণস্বরূপ set_cookie($name, $value, httponly: true)
সিগমোরাল

122

অ্যাপাচে পিএইচপি-র নিজস্ব সেশন কুকিজের জন্য:
এটি আপনার অ্যাপাচি কনফিগারেশনে যুক্ত করুন বা.htaccess

<IfModule php5_module>
    php_flag session.cookie_httponly on
</IfModule>

এটি কোনও স্ক্রিপ্টের মধ্যে সেট করা যেতে পারে, যতক্ষণ না এটি আগে বলা হয় session_start()

ini_set( 'session.cookie_httponly', 1 );

9
আপনার পুরো সার্ভারে এটি রাখা ভাল কারণ (সুরক্ষার জন্য) তবে এটির পরিবর্তে এর সাথে যুক্ত করা php.ini
অ্যান্টনি হাটজোপল্লো

10
দয়া করে নোট করুন পরিবর্তে php_flag ব্যবহার করা উচিত: "বুলিয়ান মান নির্ধারণ করতে php_value ব্যবহার করবেন না। পরিবর্তে পিএইচপি_ফ্লেগ ব্যবহার করা উচিত।" php.net/manual/en/configration.changes.php
ওন্দ্রেজ মাচুলদা

@ ওন্দ্রেজমচুলদা পরিবর্তন php_valueকরা php_flagকাজ করছে না। আমি শুধু আমার সার্ভারে এটা চেষ্টা ..
Nate

6
@ নেট: পরিবর্তিত করার সময় php_flag, আপনাকে অবশ্যই মানটি পরিবর্তন করতে হবে - ম্যানুয়ালটি থেকে হয় onবা off- হয় ।
ওন্দ্রেজ মাচুলদা

14

নোট করুন যে পিএইচপি সেশন কুকিজ httponlyডিফল্টরূপে ব্যবহার করে না ।

এটা করতে:

$sess_name = session_name();
if (session_start()) {
    setcookie($sess_name, session_id(), null, '/', null, null, true);
}

নোটের কয়েকটি দম্পতি এখানে:

  • আপনাকে session_name() আগে ফোন করতে হবেsession_start()
  • এটি '/' এ ডিফল্ট পাথ সেট করে যা অপেরার জন্য প্রয়োজনীয় তবে কোন পিএইচপি সেশন কুকিজ ডিফল্টরূপে করে না।

12
php.net/manual/en/function.session-set-cookie-params.php এটি কাস্টম কোডিংয়ের পরিবর্তে উপরের পিএইচপি ফাংশনটির মাধ্যমে স্বয়ংক্রিয়ভাবে করা যেতে পারে।
রায়ানার

13

সচেতন থাকুন যে এইচটিপিওনি ক্রস-সাইট স্ক্রিপ্টিং থামায় না; পরিবর্তে, এটি একটি সম্ভাব্য আক্রমণকে নিরপেক্ষ করে এবং বর্তমানে এটি কেবল আইই তে করে দেয় (ফায়ারফক্স এক্সএমএলএইচটিপিআরকোয়েস্টে এইচটিপি-র কেবল কুকিজ উন্মোচিত করে, এবং সাফারি একে একে সম্মান করে না)। যে কোনও উপায়ে, এইচটিটিপিকে কেবল চালু করুন, তবে এর জন্য বাণিজ্যে এক ঘন্টাও আউটপুট ফিল্টারিং এবং ফজ পরীক্ষার ছাড়বেন না।


13
এই পরিস্থিতি এখন '08 এর পরে পরিবর্তিত হতে পারে। : এখানে একটি আরো বর্তমান / আপডেট তালিকা stackoverflow.com/questions/528405/...
Kzqai


5

ইলিয়া থেকে এখানে ব্যাখ্যা ... 5.2 কেবল যদিও

পিএইচপি 5.2- তে কেবল কুকি পতাকা সমর্থন support

যেমন নিবন্ধে বলা হয়েছে, আপনি পিএইচপি এর পূর্ববর্তী সংস্করণগুলিতে শিরোনামটি নিজে সেট করতে পারেন

header("Set-Cookie: hidden=value; httpOnly");


4

আপনি এটি একটি হেডার ফাইলে ব্যবহার করতে পারেন।

// setup session enviroment
ini_set('session.cookie_httponly',1);
ini_set('session.use_only_cookies',1);

এইভাবে ভবিষ্যতের সমস্ত সেশন কুকিজ httponly ব্যবহার করবে।

  • আপডেট হয়েছে।

4
শুধু এফওয়াইআই সেশন.ইউজ_অনলি_ কুকিজ পিএইচপি> 5.3
নিক কোট্রেল

4
এবং সঠিক হ'ল "সমস্ত ভবিষ্যতের সেশন কুকিজ" কাস্টমগুলি নয়, কেবলমাত্র পোস্ট ব্যবহার করবে ...
কিউদেব

2

Php_flag কমান্ডের ডান সিনট্যাক্সটি

php_flag  session.cookie_httponly On

এবং সচেতন থাকুন, সার্ভারের প্রথম উত্তরটি কুকি সেট করে এবং এখানে (উদাহরণস্বরূপ আপনি "HttpOnly" নির্দেশিকা দেখতে পারেন So সুতরাং পরীক্ষার জন্য প্রতিটি অনুরোধের পরে ব্রাউজার থেকে কুকি মোছার পরীক্ষার জন্য।


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