nonce
অ্যাট্রিবিউট থেকে "পরিচ্ছন্ন তালিকা" নির্দিষ্ট ইনলাইন করতে সক্ষম script
এবং style
যখন সিএসপি ব্যবহার এড়ানো উপাদান unsafe-inline
(যা সম্ভব হবে ডিরেক্টিভের সব ইনলাইন script
/ style
,) যাতে আপনি এখনও ইনলাইন নামঞ্জুর করার চাবি সিএসপি বৈশিষ্ট্য বজায় রাখা script
/ style
সাধারণভাবে।
সুতরাং nonce
বৈশিষ্ট্যটি ব্রাউজারগুলিকে বলার উপায় যে কোনও নির্দিষ্ট স্ক্রিপ্ট বা শৈলীর উপাদানগুলির ইনলাইন সামগ্রীগুলি কিছু (দূষিত) তৃতীয় পক্ষের দ্বারা নথিতে ইনজেকশনের ব্যবস্থা করা হয়নি, তবে পরিবর্তে যে কেউ সার্ভারটি নিয়ন্ত্রণ করে যে ডকুমেন্টটি পরিবেশন করা হয়েছে তার দ্বারা ইচ্ছাকৃতভাবে নথিতে রাখা হয়েছিল থেকে।
https://developers.google.com/web/fundamentals/security/csp/#if_you_absolutely_must_use_it বৈশিষ্ট্যটি কীভাবে ব্যবহার করতে হয় তার একটি ভাল উদাহরণ দেয় nonce
, যা নিম্নলিখিত পদক্ষেপগুলির সমান:
আপনার ওয়েব সার্ভারটি কোনও নির্দিষ্ট নথির জন্য প্রাপ্ত প্রতিটি অনুরোধের জন্য, আপনার ব্যাকএন্ডে একটি ক্রিপ্টোগ্রাফিক সুরক্ষিত র্যান্ডম নম্বর জেনারেটর থেকে কমপক্ষে 128 বিটের ডেটা একটি এলোমেলো বেস 64-এনকোড স্ট্রিং তৈরি করতে দিন; যেমন EDNnf03nceIOfn39fn3e9h3sdfa
,। এটাই তোমার বোকা
পদক্ষেপ 1 এ উত্পন্ন নোকসটি নিন এবং যে কোনও ইনলাইন script
/ style
আপনি "শ্বেতলিস্ট" রাখতে চান, আপনার ব্যাকএন্ড কোডটি nonce
তারের উপরে প্রেরণের আগে ডকুমেন্টটিতে একটি বৈশিষ্ট্য সন্নিবেশ করান , মান হিসাবে ননসটি সহ:
<script nonce="EDNnf03nceIOfn39fn3e9h3sdfa">…</script>
পদক্ষেপ 1 এ উত্পাদিত ননসটি নিন, nonce-
এটিকে প্রিপেন্ড করুন এবং আপনার ব্যাকএন্ডের জন্য উত্স তালিকার মানগুলির সাথে একটি সিএসপি শিরোনাম উত্পন্ন করুন script-src
বা style-src
:
Content-Security-Policy: script-src 'nonce-EDNnf03nceIOfn39fn3e9h3sdfa'
সুতরাং একটি ননস ব্যবহার করার পদ্ধতিটি আপনার ব্যাকএন্ডটি ইনলাইনটির সামগ্রীগুলির একটি হ্যাশ তৈরি করতে script
বা style
আপনি অনুমতি দিতে চান তার বিকল্প এবং তারপরে আপনার সিএসপি শিরোনামের উপযুক্ত উত্স তালিকায় সেই হ্যাশটি নির্দিষ্ট করে।
নোট করুন যেহেতু ব্রাউজারগুলি পৃষ্ঠা অনুরোধগুলির মধ্যে ননস মানটি পরিবর্তন পাঠিয়েছে তা পরীক্ষা করতে পারে না (এটি করতে পারে না) তবে এটি সম্পূর্ণ সম্ভব ad যদিও সম্পূর্ণ অনিবার্য above উপরের দিক থেকে 1 এড়িয়ে যেতে এবং আপনার ব্যাকএন্ডটি ননসের জন্য ডায়নামিকভাবে কিছু করতে না পারে, সেই ক্ষেত্রে আপনি nonce
আপনার দস্তাবেজের এইচটিএমএল উত্সে একটি স্থির মানের সাথে একটি বিশিষ্টতা কেবল রেখে দিতে পারে এবং সেই একই ননস মান সহ একটি স্ট্যাটিক সিএসপি শিরোনাম প্রেরণ করতে পারে।
তবে আপনি যেভাবে কোনও স্থির নন ব্যবহার করতে চান না তা হ'ল, ননস ব্যবহার শুরু করার জন্য একেবারে সম্পূর্ণ উদ্দেশ্যকে পরাস্ত করতে চাই — কারণ, আপনি যদি এইরকম স্ট্যাটিক নন ব্যবহার করেন, এই মুহুর্তে আপনি পাশাপাশি ব্যবহার করতে পারেন unsafe-inline
।