एक CSP, COOP और विश्वसनीय प्रकार को लागू करना

Featurekamo-marketing
शिप
20 अगस्त 2026 को 3:59 am बजे UTC
लेखक
Kamo
Commit
b34d847

तीन शीर्षलेखों को ट्रस्ट और सुरक्षा लेखा परीक्षा के लिए बुलाया जाता है, साथ ही साथ रेफरर-नीति और अनुमति-नीति। पॉलिसी में हर मूल लिया गया था साइट वास्तव में अनुमान लगाने के बजाय क्या लोड करती है - चैट विजेट बंडल on theme.kamocrm.com (जो मीडिया के लिए WebSocket खोलता है)। और एपी कहते हैं। कैप्चा.), एनालिटिक्स स्क्रिप्ट ऑन एनालिटिक्स., हीरो की एचएलएस सीढ़ी, और *** की चुनौती समापन बिंदु। तैयार नीति के खिलाफ निर्मित पृष्ठ पर लेखापरीक्षित संसाधन: शून्य अवरुद्ध। on स्क्रिप्ट-src 'unsafe-inline' - यह एक वास्तविक समझौता और मूल्य निर्धारण है बल्कि दफनाने के बजाय। CSP का मजबूत रूप एक प्रति-उत्तरदायित्व है जिसके साथ 'strict-dynamic', और यह यहां उपलब्ध नहीं है: एक nonce मतलब रीडिंग हेडर () प्रस्तुत करने के दौरान, जो स्थैतिक पीढ़ी के मार्ग को चुनता है। इस एप्लिकेशन में ~200 है पूर्ववर्ती मार्ग और उनके स्थिर होने लोड-असर है - एक गतिशील मार्ग के साथ कोई लोडिंग सीमा नहीं है, इसलिए हर लिंक क्लिक ठंड शुरू होता है। वहाँ कोई हैश आधारित भाग नहीं है, क्योंकि इनलाइन स्क्रिप्ट्स अगली के अपने RSC हैं उड़ान डेटा, जिनकी सामग्री प्रति पृष्ठ और प्रति निर्माण भिन्न होती है। इसलिए: यह सीएसपी एक इंजेक्टेड इनलाइन स्क्रिप्ट को बंद नहीं करता है। क्या करना है? प्रत्येक बाह्य स्क्रिप्ट, प्राप्त, फ्रेम, छवि और मीडिया लोड ज्ञात मूल के लिए, प्रतिबंधित प्लगइन्स, आधार URI तो इंजेक्शन मार्कअप फिर से जड़ रिश्तेदार नहीं कर सकते हैं पिन यूआरएल, और तीसरे पक्ष को फॉर्म पोस्ट बंद करें। TRUSTED TYPES ने सुरक्षित बनाने के लिए तीन प्रयास किए, और विफलताएं हैं दिलचस्प हिस्सा: 1. लेआउट के <head> में पहली बार एक सादे इनलाइन <script> पहली नहीं है। प्रतिक्रिया hoists आगामी `<script async src>` टैग लेआउट के ऊपर, इसलिए नीति उनमें से बारह के बाद उतरी - और async स्क्रिप्ट निष्पादित जब वे डाउनलोड करते हैं। टर्बोपैक का रनटाइम उनके बीच है और करता है `createElement("script")` तो सेट `src`, सटीक सिंक जो फेंकता है पॉलिसी के बिना। 2. रणनीति के साथ `next/script` = "beforeइंटरएक्टिव" ने इसे आगे नहीं बढ़ाया; अभी भी बारह लिपियाँ आगे हैं। 3. क्या यह सुरक्षित बनाता है कि कोई भी सिंक उस जल्दी आग नहीं सकता। सभी 78 उड़ान-डेटा धक्का शरीर में हैं - पहली बार ऑफसेट 193,072 पर, </head> के साथ 11,940 — इसलिए नीति स्थापित होने के बाद भी React हाइड्रेटिंग शुरू नहीं कर सकता है, और इससे पहले <head> में कोई सिंक-टचिंग कोड नहीं है। सत्यापित बजाय एचटीएमएल बनाया गया। दो चीज़ें टूटी हुई हैं। *** विजेट एक है Svelte निर्माण और `svelte-trusted-html` नामक एक नीति बनाता है; एक नीति का नाम एक है रनटाइम स्ट्रिंग, इसलिए इसके बारे में कुछ भी प्रकार, लिंट या बिल्ड में नहीं है, और इसे अनुमति-सूची से पिघलाने से फेंक दिया जाएगा और संपर्क और डेमो लिया जाएगा। फॉर्म डाउन और hls.js और *** दोनों वेब वर्कर्स का निर्माण करते हैं buildObjectURL, इसलिए पॉलिसी को अपने मूल परीक्षण से पहले `blob:` पास करना पड़ता है - एक blob: URL में कोई उपयोगी नहीं है। इसके साथ हीरो रील। पॉलिसी के निर्माण की जांच Kamocrm.com के खिलाफ की जाती है, जो सख्ती से है। स्क्रिप्ट-src की तुलना में अधिक विनम्र, इसलिए यह कभी भी CSP से इनकार नहीं कर सकता अनुमति देता है बनानाHTML के माध्यम से गुजरता है और नहीं sanitise: एक असली sanitiser होगा महत्वपूर्ण पथ पर जहाज करने के लिए है और चुपचाप JSON-LD ब्लॉकों को खतरे में डाल सकता है और विजेट की मार्कअप। आधा एक chokepoint और एक लेखा परीक्षा हुक है, एक नहीं फ़िल्टर - और यह वह जगह है जहां अगले सख्त हो गया है। क्रॉस-ऑरिजिन-रिसोर्स-नीति को लिखा गया और फिर हटा दिया गया। संपूर्ण `/:path*` यह ओपन ग्राफ छवियों को कवर करता है, जो विशेष रूप से मौजूद हैं अन्य मूल से एम्बेडेड। फ्रेम-ancestors X-Frame-Options से मेल खाने के लिए 'स्वयं' है: SAMEORIGIN पहले से ही किया जा रहा है 'नोन' को कसने और किसी को याद नहीं करने के बजाय सेवा की। वास्तविक स्टैंडअलोन सर्वर के खिलाफ सत्यापित, न केवल विन्यास: प्रस्तुत करने वाले हेडर एक पूर्ववर्ती मार्ग और एक *** मार्ग, और लंबे समय तक रहने वाले परिसंपत्ति दोनों पर कैश-कंट्रोल अभी भी बरकरार है।.

सभी बदलाव

जैसा कि आप शिपिंग देखते हैं?

इन अद्यतनों में से प्रत्येक स्वचालित रूप से अपने कार्यक्षेत्र में उतरता है। प्रारंभ करें और सप्ताह के बाद इसे सप्ताह के अंत में देखें।.

Foreverमूल्य निर्धारण देखें