2016-03-22 14 views
7

यह एक साधारण सवाल हो सकता है, मुझे उम्मीद है कि यह कम से कम है।कुकीज़ और एएसपी.नेट कोर

मैंने एएसपी.नेट कोर के रिलीज उम्मीदवार को देखना शुरू कर दिया है और मैं देख सकता हूं कि पुरानी वेब.कॉन्फिग फ़ाइल और जेएसओएन संरचित फाइलों (साथ ही एक्सएमएल) में बहुत सी कॉन्फ़िगरेशन को हटा दिया गया है। और कोई अन्य मिडलवेयर जो आप स्वयं लिखना चाहते हैं)।
एक बात जो मैंने अभी तक नहीं की है, यह पता लगाने के लिए कि पुराने वेब.कॉन्फिग दृष्टिकोण में इतना आसान था, कुकीज़ की तरह आपकी साइट के कुछ मूल घटकों को सुरक्षित करना।

पहले हम secure, httpOnly और इसलिए वेब.कॉन्फिग के अंदर सेट करते थे और जब यह तैनाती के लिए आया तो एक अच्छी छोटी ट्रांसफॉर्म फ़ाइल हमारे लिए मूल्यों को संशोधित करेगी और अंत में नई फ़ाइल थूक जाएगी। थोड़ा सा पढ़ने के बाद, ऐसा लगता है कि web.config अब बहुत ज्यादा मर चुका है, तो हम एक ही परिणाम प्राप्त करने के बारे में कैसे जाते हैं?

मुझे पता है कि हम विभिन्न कॉन्फ़िगरेशन फ़ाइलों को लोड कर सकते हैं, जैसे कि पर्यावरण, जैसे कि पर्यावरण, DEV, STAGING, PRODUCTION आदि पर सेट हैं, लेकिन ऐसा लगता है कि यह सभी उद्देश्यों के लिए एक परिवर्तन के साथ बदलता है और उद्देश्यों को वास्तव में कैसे लोड किया गया है इसके अलावा उद्देश्य?

क्या मुझे यहां कुछ याद आया है या क्या मैंने खुद को गड़बड़ में काम करने में कामयाब रहा है?

+0

aspnet.core स्वयं web.config को नहीं पढ़ता है। इसका उपयोग तब किया जा रहा है जब आप आईएसआई का उपयोग एस्पनेट कोर एप्लिकेशन को अनुरोध अग्रेषित करने के लिए करते हैं, जिस स्थिति में आईआईएस केवल रिवर्स प्रॉक्सी के रूप में चल रहा है। – Pawel

+0

क्या आपने Asp.Net कोर में कुकीज़ के लिए [docs] (http://docs.asp.net/en/latest/security/authentication/cookie.html) देखा है? मुझे पूरा यकीन नहीं है कि अंतिम अनुच्छेद के लिए आपका दूसरा क्या पूछ रहा है। क्या आप कुकीज़ के अलावा ट्रांसफॉर्म कैसे करें इसके बारे में सोच रहे हैं? –

+0

@ क्षमा करें, मैं थोड़ा स्पष्ट होने की कोशिश करूंगा, मुझे पता है कि आप कुकी आधारित प्रमाणीकरण को सक्षम कर सकते हैं और वहां के अंदर आप 'httpOnly' जैसे विकल्पों को परिभाषित कर सकते हैं लेकिन मेरा प्रश्न सामान्य रूप से कुकीज़ से संबंधित है क्योंकि मैं प्रमाणीकरण के लिए उनका उपयोग नहीं कर रहा हूं लेकिन फिर भी यह सुनिश्चित करना चाहते हैं कि उन्हें सुरक्षित/सही तरीके से संभाला जा रहा है –

उत्तर

11

एक सामान्य कुकी मैन्युअल रूप से अपने आवेदन में बनाई गई के लिए, आप झंडे सुरक्षा के लिए जब यह बनाने पर नियंत्रण vlaue, और सत्य को सुरक्षित करने के लिए केवल कुकी को HTTPS पर सेवा/प्राप्त करने की अनुमति होगी।

जब आप प्रतिक्रिया में कुकीज़ जोड़ते हैं तो कोई डिफ़ॉल्ट लागू नहीं होता है, जैसा कि the source code for the ResponseCookies class में देखा जा सकता है।

विभिन्न मध्यवर्ती के लिए जो अपनी स्वयं की कुकीज़ बनाते हैं और उपभोग करते हैं (जैसे कि आपके मध्य में आपके द्वारा वर्णित सत्र मिडलवेयर), उनके पास उनके स्वयं के कॉन्फ़िगरेशन विकल्प हो सकते हैं जो इन कुकीज़ को स्वयं बनाने के लिए इन झंडे को नियंत्रित करेंगे, लेकिन यह आपके आवेदन में कहीं और कुकीज़ बनाने में कोई फर्क नहीं पड़ता।

+0

तो क्या मैं मानने में सही हूं, कम से कम जो मैंने अभी तक एकत्र किया है, वेब ऐप में जेनरेट की गई कुकीज़ पर 'httpOnly' और' safe' जैसे विकल्पों को वैश्विक रूप से नियंत्रित करने का कोई तरीका नहीं है? यह थोड़ा काउंटर-अंतर्ज्ञानी –

+0

लगता है मुझे विश्वास नहीं है - [आधिकारिक दस्तावेज़] (http://docs.asp.net/) और [ResponseCookies क्लास के लिए स्रोत कोड] (https: // github.com/aspnet/HttpAbstractions/blob/master/src/Microsoft.AspNet.Http/ResponseCookies.cs) जो प्रतिक्रिया में कुकीज़ को जोड़ा जा रहा है, मैं कुछ भी नहीं देख सकता जो कुकी बनाने के दौरान डिफ़ॉल्ट का उपयोग करेगा। –

+0

@ जैक मैंने अपना जवाब अपडेट करने के लिए अद्यतन किया है कि कोई डिफ़ॉल्ट लागू नहीं किया गया है –

0

ठीक है, इसे समझ लिया गया है, ऐसा लगता है कि मुझे अभी भी खुद को याद दिलाना है कि .NET5 में अधिकांश चीजें अब सत्र की तरह चीजें शामिल हैं, जहां कुकीज़ अब रहते हैं, docs के माध्यम से पढ़ते हुए, मुझे अंततः मुझे जो चाहिए कुकीज़ सक्षम करने और उन्हें कॉन्फ़िगर करने के लिए। यहाँ

Response.Cookies.Append(
    "COOKIE_NAME", 
    "COOKIE_VALUE", 
    new CookieOptions() 
    { 
     Path = "/", 
     HttpOnly = false, 
     Secure = false 
    } 
); 

, सच करने के लिए केवल Http की स्थापना कुकी तक पहुँचने से क्लाइंट साइड जे एस रोका जा सके: उदाहरण के लिए -

+2

मुझे विश्वास नहीं है कि यह सही है - जो सामान्य रूप से सभी कुकीज़ के लिए नहीं, केवल सत्र स्थिति के लिए उपयोग की जाने वाली कुकीज़ को नियंत्रित करेगा। मैं अपनी समझ के साथ एक उत्तर पोस्ट करूंगा कि यह कैसे काम करता है। –

+0

मैं इसे दोगुना करता हूं, दस्तावेज़ों के लिए लिंक केवल सत्र राज्य कुकीज़ को शामिल करता है। मैं अभी भी एएसपीनेट कोर में कुकीज़ सेट करने के साथ जूझ रहा हूं ... कभी-कभी php की सादगी के लिए झुकाव ... setcookie() ... asp.net कोर – John

+0

में इसके लिए काम करना यह एक जवाब नहीं है, यह एक जवाब है स्थिति अपडेट। कृपया चरणों को पोस्ट करें। –

संबंधित मुद्दे