में केवल HttpOnly कुकीज़ का उपयोग कैसे सेट अप करते हैं मैं PHP apps
में कुकीज़ को HttpOnly cookies
के रूप में कैसे सेट कर सकता हूं?आप PHP
आप PHP
उत्तर
- अपने कुकीज़ के लिए में, इस सवाल का जवाब देखें।
- पीएचपी के अपने सत्र कुकी (
PHPSESSID
, डिफ़ॉल्ट रूप से) के लिए, @richie's answer
setcookie()
और setrawcookie()
कार्यों को देखते हैं,, httponly
पैरामीटर शुरू की पीएचपी 5.2.0 के अंधेरे उम्र में वापस आ गया, यह अच्छा बनाने और आसान है। सीधे शब्दों में, सच करने के लिए 7 वीं पैरामीटर सेट वाक्य रचना प्रति
समारोह वाक्य रचना संक्षिप्तता
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");
स्पष्टीकरण इलिया से यहाँ ... 5.2 केवल हालांकि
httpOnly cookie flag support in PHP 5.2
के रूप में है कि लेख में कहा गया है, तो आप PHP के
header("Set-Cookie: hidden=value; httpOnly");
<?php
//None HttpOnly cookie:
setcookie("abc", "test", NULL, NULL, NULL, NULL, FALSE);
//HttpOnly cookie:
setcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE);
?>
पिछले संस्करणों में शीर्ष लेख अपने आप को सेट कर सकते हैं Source
आप निर्दिष्ट कर सकते हैं यह सेट कुकी समारोह see the php manual
setcookie('Foo','Bar',0,'/', 'www.sample.com' , FALSE, TRUE);
जानते हैं कि केवल Http क्रॉस-साइट स्क्रिप्टिंग नहीं रुकता है; इसके बजाय, यह एक संभावित हमले को बेअसर करता है, और वर्तमान में केवल आईई पर ही करता है (फ़ायरफ़ॉक्स एक्सएमएलएचटीपीआरक्वेट में केवल कुकीज़ को उजागर करता है, और सफारी इसे बिल्कुल सम्मान नहीं देता है)। हर तरह से, केवल चालू करें, लेकिन इसके लिए व्यापार में आउटपुट फ़िल्टरिंग और फ़ज़ परीक्षण का एक घंटा भी न छोड़ें।
के साथ यह स्थिति अब '08 के बाद से बदल सकती है। यहां एक और वर्तमान/अद्यतन सूची है: http://stackoverflow.com/questions/528405/which-browsers-do-support-httponly-cookies – Kzqai
मैं वास्तव में अपना डाउनवोट हटाना चाहता हूं। –
ध्यान दें कि PHP सत्र कुकीज़ डिफ़ॉल्ट रूप से httponly
का उपयोग नहीं करती हैं।
कि ऐसा करने के लिए:
$sess_name = session_name();
if (session_start()) {
setcookie($sess_name, session_id(), null, '/', null, null, true);
}
टिप्पणी की वस्तुओं के एक जोड़े को यहाँ:
- आप
session_start()
- से पहले
session_name()
कॉल करनी होगी यह भी डिफ़ॉल्ट पथ करने के लिए सेट '/ ', जो ओपेरा के लिए आवश्यक है लेकिन PHP सत्र कुकीज़ डिफ़ॉल्ट रूप से नहीं करते या तो।
http://php.net/manual/en/function.session-set-cookie-params.php यह कस्टम कोडिंग के बजाय उपर्युक्त PHP फ़ंक्शन के माध्यम से स्वचालित रूप से किया जा सकता है। – Ryaner
अपाचे पर पीएचपी के अपने सत्र कुकीज़ के लिए:
अपने अपाचे विन्यास को यह जोड़ सकते हैं या .htaccess
<IfModule php5_module>
php_flag session.cookie_httponly on
</IfModule>
यह भी रूप में लंबे समय के रूप में यह session_start()
से पहले कहा जाता है, एक स्क्रिप्ट के भीतर निर्धारित किया जा सकता है।
ini_set('session.cookie_httponly', 1);
+1 क्योंकि यह आपके पूरे सर्वर पर एक अच्छी बात है (सुरक्षा के लिए) लेकिन इसके बजाय 'php.ini' में जोड़ा गया है। –
कृपया ध्यान दें कि php_flag का उपयोग इसके बजाय किया जाना चाहिए: "बूलियन मान सेट करने के लिए php_value का उपयोग न करें। Php_flag का उपयोग इसके बजाय किया जाना चाहिए।" http://php.net/manual/en/configuration.changes.php –
@OndrejMachulda 'php_value' को 'php_flag' में बदलना काम नहीं करता है। मैंने बस इसे अपने सर्वर पर आज़माया .. – Nate
आप इसे हेडर फ़ाइल में उपयोग कर सकते हैं।
// setup session enviroment
ini_set('session.cookie_httponly',1);
ini_set('session.use_only_cookies',1);
इस तरह सभी भविष्य कुकीज़ केवल Http का प्रयोग करेंगे।
बस FYI session.use_only_cookies डिफ़ॉल्ट रूप से PHP> 5.3 –
में चालू है और सही है "सभी भविष्य ** सत्र ** कुकीज़" httponly का उपयोग करेंगे, कस्टम वाले नहीं ... – qdev
php_flag आदेश की सही वाक्य रचना
php_flag session.cookie_httponly On
सर्वर सेट कुकी से
और हो बारे में पता है, बस पहले उत्तर और यहाँ है (आप "केवल Http" निर्देश देख सकते हैं, उदाहरण के लिए। तो के लिए परीक्षण कुकी हटाने के प्रत्येक परीक्षण अनुरोध के बाद ब्राउज़र से।
- 1. आप PHP
- 2. आप PHP में डोमेन अपवाद कब फेंकेंगे?
- 3. क्या आप PHP में लूप से बाहर निकल सकते हैं?
- 4. PHP निर्माण/एकीकरण उपकरण: क्या आप उनका उपयोग करते हैं?
- 5. आप php में वैकल्पिक तर्क कैसे बनाते हैं?
- 6. PHP विकास के लिए आप आदर्श विम कॉन्फ़िगरेशन क्या हैं?
- 7. आप अभी भी PHP का उपयोग क्यों करते हैं?
- 8. आप PHP में 'रेफरर' हेडर कैसे प्राप्त करते हैं?
- 9. आप PHP में पेजिनेशन कैसे कार्यान्वित करते हैं?
- 10. आप PHP से जावास्क्रिप्ट अलर्ट कैसे प्रदर्शित करते हैं?
- 11. आप PHP में $ _GET और $ _POST क्यों विलय करेंगे?
- 12. PHP का उपयोग करके आप .gz फ़ाइल कैसे बनाते हैं?
- 13. जब (यदि कभी) आप PHP में ऐसा करेंगे?
- 14. आप php में लाइन ब्रेक कैसे ढूंढते हैं?
- 15. आप PHP में कुकी कैसे अपडेट करते हैं?
- 16. आप एसएसएच से php फ़ाइल कैसे चलाते हैं?
- 17. क्या PHP अनुप्रयोग डिजाइन/डिज़ाइन पैटर्न आप उपयोग करते हैं?
- 18. आप PHP से .bat फ़ाइल कैसे चलाते हैं?
- 19. आप php में डेटाबेस कनेक्शन कैसे प्रबंधित करते हैं?
- 20. PHP: आप इसे लिखने के लिए क्या उपयोग करते हैं?
- 21. आप PHP में इस कीवर्ड का उपयोग कब करेंगे?
- 22. आप PHP में "असंगठित" नेविगेशन को कैसे हल करते हैं?
- 23. आप PHP में एक आरईएसटी एपीआई कैसे बनाते हैं?
- 24. क्या आप एक PHP आईडीई का उपयोग करते हैं?
- 25. फेसबुक php, आप परिणाम पेजिंग का उपयोग कैसे करते हैं?
- 26. आप एमएएमपी के PHP को PHP 5.3 में कैसे अपग्रेड करते हैं?
- 27. आप एक PHP क्वेरी में एक PHP निरंतर कैसे डालते हैं?
- 28. क्या आप एक PHP एक्सटेंशन बनाने के लिए हिपहॉप PHP का उपयोग कर सकते हैं?
- 29. php
- 30. PHP
http://stackoverflow.com/questions/528405/which-browsers-do-support-httponly-cookies ब्राउज़र समर्थन जानकारी है। – Kzqai
@Tchalvak नहीं, वर्तमान उत्तर अभी भी आधिकारिक हैं PHP में HTTP-only कुकी सेटिंग के संबंध में 2008 से कुछ भी नहीं बदला है। _ कौन सा ब्राउजर HTTP-only कुकीज का समर्थन करता है एक अलग है एक अलग जवाब के साथ सवाल। – lanzz
आप '$ कुकी-> setHttpOnly (true) का उपयोग कर सकते हैं;' https://github.com/delight-im/PHP- कुकी – caw