अखंडता - एक संसाधन के हैश मान (एक चेकसम की तरह) को परिभाषित करता है जिसे ब्राउज़र को निष्पादित करने के लिए मिलान करना पड़ता है। हैश यह सुनिश्चित करता है कि फाइल अनमॉडिफाइड थी और इसमें अपेक्षित डेटा था। इस तरह ब्राउज़र विभिन्न (जैसे दुर्भावनापूर्ण) संसाधनों को लोड नहीं करेगा। ऐसी स्थिति की कल्पना करें जिसमें आपकी जावास्क्रिप्ट फाइलें सीडीएन पर हैक की गई थीं, और इसे जानने का कोई तरीका नहीं था। अखंडता विशेषता लोडिंग सामग्री से मेल खाती है जो मेल नहीं खाती।
क्रॉस-ऑरिजनल की परवाह किए बिना अमान्य SRI को ब्लॉक किया जाएगा (Chrome डेवलपर-उपकरण)। नीचे एनओएन-कोर मामले में जब अखंडता विशेषता मेल नहीं खाती है:
अखंडता की गणना का उपयोग करके किया जा सकता है : https://www.srihash.org/
या कंसोल में टाइप करना ( लिंक ):
openssl dgst -sha384 -binary FILENAME.js | openssl base64 -A
क्रॉसोरिगिन - एक अलग मूल पर सर्वर से लोड होने पर उपयोग किए गए विकल्पों को परिभाषित करता है। (यहां देखें CORS (क्रॉस-ओरिजिनल रिसोर्स शेयरिंग): https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS )। यह प्रभावी रूप से ब्राउज़र द्वारा भेजे गए HTTP अनुरोधों को बदल देता है। यदि "क्रॉसोरिगिन" विशेषता को जोड़ा जाता है - तो इसका परिणाम मूल जोड़ने में होगा : <ORIGIN> कुंजी-मूल्य जोड़ी HTTP अनुरोध में जैसा कि नीचे दिखाया गया है।
क्रॉसोरिगिन को "अनाम" या "उपयोग-क्रेडेंशियल्स" के लिए सेट किया जा सकता है। दोनों का परिणाम मूल में होगा : अनुरोध में। उत्तरार्द्ध हालांकि यह सुनिश्चित करेगा कि क्रेडेंशियल्स की जांच की जाए। टैग में कोई भी क्रॉसोरिजिन विशेषता मूल के बिना अनुरोध भेजने का परिणाम नहीं देगी: कुंजी-मूल्य जोड़ी।
यहाँ एक मामला है जब CDN से "उपयोग-क्रेडेंशियल्स" का अनुरोध किया गया है:
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js"
integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn"
crossorigin="use-credentials"></script>
यदि क्रॉसोरिन गलत तरीके से सेट किया गया है, तो ब्राउज़र अनुरोध को रद्द कर सकता है।
लिंक
- https://www.w3.org/TR/cors/
- https://tools.ietf.org/html/rfc6454
- https://developer.mozilla.org/en-US/docs/Web/HTML / तत्व / लिंक
ब्लॉग
- https://frederik-braun.com/using-subresource-integrity.html
- https://web-security.guru/en/web-security/subresource-integrity
Attribute integrity not allowed on element link at this point.