सख्त-गतिशील के साथ एक वास्तविक प्रति-रीक्वेस्ट सीएसपी नॉन्से

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

स्क्रिप्ट-src पर शेष उच्च निष्कर्षों को साफ़ करता है: 'unsafe-inline' एक और "होस्ट स्वीकार्य अक्सर बायपास किया जा सकता है"। 'strict-dynamic' के साथ केवल एक nonce उन लोगों को साफ़ करता है, और अगला एक पर आपूर्ति नहीं कर सकता है Prerendered page — a nonce होना चाहिए अद्वितीय प्रति प्रतिक्रिया, इसलिए अगला उत्सर्जन केवल एक ही जबकि प्रतिपादन, और एक पूर्ववर्ती मार्ग को पूर्ण रूट कैश से परोसा जाता है प्रस्तुत किए बिना। प्रलेखित वर्कअराउंड हर मार्ग को गतिशील बनाने के लिए है, जो इस साइट पर स्थिर प्रतिपादन को रद्द करेगा, उस पर निर्भर करता है और पतन <Link> एक नंगे मार्ग पेड़ के लिए प्रीफेच करें। तो ऐसा नहीं है जहां बाइट्स प्रक्रिया छोड़ देते हैं। सर्वर-nonce.js शुरू होता है लूपबैक पर स्टैंडअलोन सर्वर, सार्वजनिक बंदरगाह को स्वयं कार्य करता है, और प्रत्येक को टिकट देता है एचटीएमएल प्रतिक्रिया जिस तरह से बाहर। इसके अलावा, इसके लिए पहले से तैयार रहना और उसकी सेवा करना खुद का कैश; रैपर के माध्यम से मापा जाता है, /en/pricing अभी भी 77,521 prefetches bytes 23 खंड संदर्भ और उत्तर x-nextjs-cache: HIT. स्थैतिक प्रतिपादन और एक वास्तविक घूर्णन नॉन, दोनों। 'strict-dynamic' वह है जो स्वीकार्य खोज को सेवानिवृत्त करता है: ब्राउज़र होस्ट को अनदेखा करते हैं इसके तहत अनुमति देने वाले और पहले से ही विश्वसनीय स्क्रिप्ट द्वारा बनाई गई स्क्रिप्ट पर भरोसा करते हैं। The चैट विजेट और एनालिटिक्स ट्रैकर को रनटाइम में अगले / स्क्रिप्ट द्वारा इंजेक्ट किया जाता है, इसलिए उन्हें रनटाइम में अगले / स्क्रिप्ट द्वारा इंजेक्ट किया जाता है। पूरी तरह से विश्वसनीय हैं और सभी पर कोई अनुमति सूची प्रविष्टि की आवश्यकता नहीं है। 'अनसुरक्षित' और https: केवल ब्राउज़रों के लिए दस्तावेजी गिरावट के रूप में कभी-कभी, जो न तो उपेक्षा करते हैं और इससे पहले कुछ नहीं हो रहा था। तीन चीजें यह हो गई, जिनमें से कोई भी दिखाई नहीं देगा विन्यास: अनुरोध को आगे बढ़ाने के लिए सीएसपी अपस्ट्रीम एक जाल है। आगे पढ़े और अपनी खुद की स्क्रिप्ट को स्टैम्प करता है - फिर यह रेंडर पूर्ण रूट कैश में जाता है गैर-सेक में बेक्ड के साथ, इसलिए हर बाद में आगंतुक को 96 टैग मिलते हैं जो एक मृत ले जाते हैं नहीं। 'strict-dynamic' के तहत एक stale nonce गिरावट नहीं है, यह ब्लॉक: एक प्रवेश समाप्त होने तक रिक्त पृष्ठ। अनुरोध सीएसपी बजाय छीन लिया जाता है, और मुद्रांकन से पहले किसी भी पूर्व-existing nonce विशेषता को हटा दिया जाता है। · अपस्ट्रीम होस्ट को लूपबैक ब्रेक्स रीडायरेक्ट करने के लिए लिखना। अगला निर्माण होस्ट से पूर्ण रीडायरेक्ट यूआरएल, इसलिए `/` का जवाब दिया गया `Location: http://localhost:41337/en`. होस्ट को अपरिवर्तित अग्रेषित किया जाता है, और हमारे स्वयं के लूपबैक पर एक रीडायरेक्ट पॉइंट बीमा के रूप में एक पथ पर गिर गया है। · संपीड़न को स्थानांतरित करना पड़ा। अपस्ट्रीम को पहचान के लिए कहा जाता है ताकि एचटीएमएल को पहचान मिल सके एक decompress/recompress दौर यात्रा के बिना rewritten, और रैपर फिर से संपीड़न — Brotli जहां ग्राहक इसे लेता है, जो 30,177 बाइट्स है 56,324 gzip के खिलाफ पहले सेवा की। स्क्रिप्ट/चेक-csp-nonce.mjs प्रत्येक निर्माण पर अंत करने के लिए अनुबंध अंत रखती है: जूते रैपर के पीछे निर्मित ऐप और यह दावा करता है कि हेडर एक नॉन्से है और 'strict-dynamic', कि हर स्क्रिप्ट टैग एक nonce किया जाता है, उनमें से सभी कर रहे हैं वह जवाब है, और यह अनुरोधों के बीच घूमता है। यह कैश्ड-nonce पकड़ा अपने पहले रन पर बग। एक निश्चित nonce पढ़ने योग्य होने के दौरान लेखा परीक्षा को संतुष्ट करेगा किसी के द्वारा, इसलिए रोटेशन चेक औपचारिकता के बजाय बिंदु है। मेमोरी अनुरोध 128Mi -> 256Mi: एचटीएमएल को स्टैम्प करने के लिए बफर किया गया है, इसलिए चरम स्मृति अब बैठे फ्लैट के बजाय समवर्ती एचटीएमएल अनुरोधों के साथ पैमाने।.

सभी बदलाव

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

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

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