HTTP कंटेंट-एमडी 5 हैडर के विचार


12

हम इस बात पर बहस कर रहे हैं कि क्या सामग्री-एमडी 5 हेडर का उपयोग किया जाए।

पेशेवरों:

  • सीएमएस हमें आसानी से न्यूनतम ओवरहेड (मामलों के 80% + में कैश्ड प्रतिक्रियाओं) के साथ इसे शामिल करने की अनुमति देता है।
  • यह समस्याओं के विरुद्ध सुरक्षा की एक और परत जोड़ देगा।

विपक्ष:

  • कंटेंट-लेंथ हेडर हमेशा मौजूद होता है (गतिशील रूप से बनाए गए पेजों पर भी) ताकि क्लाइंट को सत्यापन के दूसरे रूप की आवश्यकता न हो।
  • अब तक हम भ्रष्टाचार से होने वाली किसी भी समस्या से अनभिज्ञ हैं।
  • MD5 चेक वेब पेज लोड समय के लिए विलंबता जोड़ते हैं।

अंक:

  • क्या कुछ मीडिया प्रकारों में पाचन का अपना रूप शामिल है जो इसे अनावश्यक बनाता है?
  • यदि टीसीपी यह पहले से ही पेश करता है तो इसे HTTP मानक में क्यों शामिल किया गया था?
  • मौजूदा वास्तविक जीवन के उपयोग क्या हैं?
  • MD5 जाँच नगण्य है?

लगभग एक घंटे के काम के लिए यूनिट परीक्षणों में इसे लागू करना और लागू करना कोई वास्तविक समस्या नहीं है; हालांकि अगर यह हानिकारक है तो हम चाहते हैं कि इसे वेबसाइट "स्वास्थ्य जांच" में इस्तेमाल किए जाने वाले उच्च स्तर के सूँघने वाले परीक्षणों में जोड़ा जाए।

जवाबों:


10

टीसीपी में पहले से ही त्रुटि सुधार है, लेकिन यह केवल आपको टीसीपी परत पर मदद करता है। एक मध्यस्थ HTTP प्रॉक्सी या लोड बैलेंसर HTTP परत पर डेटा को भ्रष्ट कर सकता है, और फिर इसे फिर से लिख सकता है। एक HTTP एमडी 5 इस भ्रष्टाचार का पता लगाना संभव बनाता है। इस कारण से कोई भी वास्तव में इस बारे में बात नहीं करता है कि समस्या वास्तव में बहुत दुर्लभ है; अधिकांश HTTP प्रॉक्सी आदि "बस काम" करते हैं।

RFC ने सुरक्षा के लिए गठबंधन किया। IMHO यह इतना कमजोर है इसे नजरअंदाज किया जाना चाहिए - अगर आपको किसी भी तरह की वास्तविक सुरक्षा और गोपनीयता की आवश्यकता है, तो आपको HTTPS की आवश्यकता है।

क्या कुछ मीडिया प्रकारों में पाचन का अपना रूप शामिल है जो इसे अनावश्यक बनाता है?

वास्तव में कुछ भी अच्छा नहीं है। लेकिन फोटो, स्ट्रीमिंग वीडियो आदि में कुछ कम त्रुटियां अक्सर मनुष्यों के लिए अस्वीकार्य होंगी।

मैं कहूंगा कि यह उपयोग के मामले पर निर्भर करता है:

  • REST आधारित वेब सेवाओं के लिए एक पाचन अतिरिक्त त्रुटि सुधार की एक उपयोगी परत जोड़ता है। इस AWS विफलता को एक उदाहरण के रूप में देखें ।
  • सादे HTTP पर मिशन-महत्वपूर्ण डेटा से निपटने वाले अनुप्रयोगों के लिए यह लागू करने योग्य है। सामग्री-एमडी 5 ग्राहकों को एंड-टू-एंड ट्रांसमिशन अखंडता को सत्यापित करने का विकल्प देता है।
  • 'सामान्य' वेब साइटों के लिए जो 'सामान्य' टेक्स्ट और मीडिया की सेवा करता है, सामग्री-एमडी 5 हेडर का कोई उद्देश्य नहीं है। और मैं ईमानदारी से यह भी नहीं जानता कि कितने मुख्यधारा के ब्राउज़र (पीसी, विशेष रूप से मोबाइल) वास्तव में इसका समर्थन करते हैं।

1
AWS विफलता मामला वास्तव में कपटी है। यह कुछ साल पुराना है, लेकिन वास्तव में विफलता मोड का एक आकर्षक उदाहरण मैंने कभी नहीं सोचा होगा। दूरस्थ रूप से डेटा के भंडारण का उपयोग करते समय देखने के लिए बहुत दिलचस्प है। मुझे आश्चर्य है कि NoSQL समाधानों में से कुछ के बारे में और वे ऐसे मुद्दों को कैसे संभालते हैं।
आर्टलंग

इससे क्लाइंट पर निर्णय पारित करना काफी आसान हो जाता है। इस तरह का एक विकल्प अब "अच्छा होना चाहिए" के रूप में पेश किया जा सकता है, लेकिन आवश्यक मानदंड नहीं। यदि अमेज़ॅन एक लोड बैलेंसर को तैनात कर सकता है और इन त्रुटियों का कारण बन सकता है, तो अंततः कहीं न कहीं फसल होने की संभावना है और कुछ भी असंगत रूप से परेशान वेबसाइट से बदतर नहीं दिखता है।
मेटलहार्क

यह वास्तव में इस बात पर निर्भर करता है कि फ़्लिप बिट कहाँ है। यदि यह कम से कम महत्वपूर्ण बिट है, तो यह अगोचर होगा। लेकिन रंगों rgb(255, 0, 0)और के बीच एक बड़ा अंतर है rgb(127, 0, 0)। कच्चे वीडियो के साथ एक एकल पिक्सेल भ्रष्टाचार कम बोधगम्य होगा क्योंकि यह एक पल के लिए स्क्रीन पर होता है, लेकिन क्योंकि अधिकांश ऑनलाइन वीडियो अत्यधिक कुशल संपीड़न एल्गोरिदम का उपयोग करते हैं, एक एकल बिट फ़्लिप होने से तस्वीर का आधा भ्रष्ट हो सकता है या पार हो सकता है स्क्रीन।
लेसे मेजेस्टे सेप

इसके अलावा, जैसा कि आपने कहा, बैंकों को सिर्फ HTTPS का उपयोग करना चाहिए, तो क्या उनके लिए Content-MD5या तो उपयोग करने का कोई मतलब नहीं है , क्योंकि SSL / TLS पहले से ही एप्लिकेशन लेयर में एक संदेश डाइजेस्ट प्रदान करता है?
Lèse majesté

1
@ लेसे मेजेस्टे: बिट त्रुटियों के बारे में, मैं सार मामले में सहमत हूं। लेकिन याद रखें कि अधिकांश स्ट्रीमिंग वीडियो fx त्रुटि सुधार और गति के बीच 'सही' ट्रेडऑफ़ देने के लिए यूडीपी या टीसीपी पर एक एप्लिकेशन-विशिष्ट परिवहन का उपयोग करता है - और वीडियो स्ट्रीमिंग इस प्रकार सामग्री-एमडी 5 के लिए उपयोग मामला नहीं होगा। बैंकों को एचटीटीपीएस का उपयोग करना चाहिए, मैं सहमत हूं, और मैं इसे और अधिक स्पष्ट करने के लिए पुन: प्रयास कर रहा हूं।
जेस्पर एम सेप

1

MD5 चेक वेब पेज लोड समय के लिए विलंबता जोड़ते हैं।

अगर सच है (और विलंबता पूरी तरह से तुच्छ नहीं है) तो मैं कहूंगा कि यह इसके लायक नहीं था।

सामान्य तौर पर, मेरा मानना ​​है कि अंतिम संशोधित हेडर का उपयोग आमतौर पर यह निर्धारित करने के लिए किया जाता है कि क्या पेज बदल गया है। यदि आप वहां सार्थक मूल्य प्रदान करते हैं, तो मुझे सामग्री-md5 हेडर की कोई आवश्यकता नहीं दिखती है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.