درک و استفاده از CSP: script-src-attr

understanding csp script src attr
20 آبان 1403

خب، قبل از اینکه بریم سراغ موضوع اصلی، بزارید یکم در مورد CSP (Content Security Policy) صحبت کنیم. این خیلی مهمه که بدونیم CSP چیه و چرا انقدر مورد استفاده قرار می‌گیره. CSP یک لایه امنیتی هست که به شما کمک می‌کنه مشخص کنید که چه محتواهایی روی وب‌سایت‌تون باید بارگذاری بشن و چه محتواهایی نه. این کار به شما این امکان رو می‌ده که با جلوگیری از تزریق انواع کدهای غیر مجاز از آسیب‌پذیری‌های رایجی مثل XSS جلوگیری کنید.

خب حالا بریم سراغ بخش script-src-attr. این چیزی که ما اینجا داریم، بخشی از CSP هست و به طور خاص به شما اجازه می‌ده کنترل کنید که چه منابعی می‌تونند از صفات script-src در سند HTML فراخوانی بشن. مثلا می‌تونید تعیین کنید که کدهای جاوااسکریپت فقط باید از دامنه‌های خاصی بارگیری بشن و اینجوری جلوی خیلی از حملات میگیره.

یک مثال ساده بزنیم. فرض کنید شما یک برنامه وبی دارید و می‌خواهید مطمئن بشید که هیچ کد جاوااسکریپتی از منابعی به غیر از دامنه شما یا یک دامنه معتبر دیگه اجرا نشه. این جاییه که script-src-attr حسابی به دردتون می‌خوره.

با استفاده از این سیاست‌های امنیتی، می‌تونید به طور خاص تعیین کنید که منابع جاوااسکریپت از کجا باید بارگذاری بشن. اینطوری، حتی اگه یه شکاف امنیتی هم باشه، سرور شما تا حد زیادی ایمن می‌مونه.

کد نمونه برای CSP: script-src-attr

<meta http-equiv="Content-Security-Policy" content="script-src 'self' https://trusted.com">

توضیحات خط به خط کد

<meta> ← این یک تگ HTML هست که برای ارائه اطلاعاتی در مورد صفحه‌ای که کاربر در حال مشاهده آن است، به کار می‌رود.
http-equiv="Content-Security-Policy" ← این ویژگی نشان می‌دهد که متا تگ برای تنظیم سیاست امنیت محتوا مورد استفاده قرار می‌گیرد.
content="script-src 'self' https://trusted.com" ← محتوای سیاست: اینجا مشخص می‌کنید که اسکریپت‌ها فقط می‌توانند از خود سایت یا دامنه معتبر مشخص شده بارگذاری شوند.

سوالات متداول

؟

چرا باید از CSP استفاده کنیم؟

؟

آیا script-src-attr می‌تواند جلوی همه حملات XSS را بگیرد؟

؟

آیا اعمال CSP پیچیده است؟