امنیت برنامههای فرانتاند با Content Security Policy (CSP) 🙂
CSP مجموعهای از قوانینی هست که برای مرورگر تعریف میکنیم، تا مشخص کنیم ریسورسهای توی صفحه (مثل عکس، اسکریپت، فونت) از چه منابعی اجازه دارن که دانلود و اجرا بشن.
در حالت عادی منابعی که به صفحه اضافه میکنیم بدون محدودیت توسط مرورگر دانلود و اجرا میشن. برای مثال عکس یا اسکریپتی از یک منبع خارجی:
به فرض اینکه مشکلی از بابت CORS نباشه، این عکس که از یک منبع خارجی به صفحه اضافه شده، بدون مشکل دانلود و اجرا میشه. اما توی بعضی از شرایط اگه به همین شکل به مرورگر اجازهٔ دانلود از هر منبعی رو بدیم، ریسکهای امنیتی بزرگی رو به برنامه اضافه کردیم.
ما با استفاده از CSP که یکی از مکانیزم های امنیتی پیاده سازی شده در مرورگر های مدرن هست، از حملاتی مانند XSS یا Cross-Site Scripting و data injection میتونیم جلوگیری کنیم و تا حد زیادی میتونیم امنیت رو به برنامههای فرانتاند بیاریم. دو تا مقاله زیر به طور کامل و جامع راجب CSP صحبت کردند و بهتون پیشنهاد میکنم، حتما اونها رو بخونید.
- Article
- Article
#csp
@CodeModule
CSP مجموعهای از قوانینی هست که برای مرورگر تعریف میکنیم، تا مشخص کنیم ریسورسهای توی صفحه (مثل عکس، اسکریپت، فونت) از چه منابعی اجازه دارن که دانلود و اجرا بشن.
در حالت عادی منابعی که به صفحه اضافه میکنیم بدون محدودیت توسط مرورگر دانلود و اجرا میشن. برای مثال عکس یا اسکریپتی از یک منبع خارجی:
<!DOCTYPE html>
<html>
<head>...</head>
<body>
<img src="https://an-external-website.io/" />
</body>
</html>
به فرض اینکه مشکلی از بابت CORS نباشه، این عکس که از یک منبع خارجی به صفحه اضافه شده، بدون مشکل دانلود و اجرا میشه. اما توی بعضی از شرایط اگه به همین شکل به مرورگر اجازهٔ دانلود از هر منبعی رو بدیم، ریسکهای امنیتی بزرگی رو به برنامه اضافه کردیم.
ما با استفاده از CSP که یکی از مکانیزم های امنیتی پیاده سازی شده در مرورگر های مدرن هست، از حملاتی مانند XSS یا Cross-Site Scripting و data injection میتونیم جلوگیری کنیم و تا حد زیادی میتونیم امنیت رو به برنامههای فرانتاند بیاریم. دو تا مقاله زیر به طور کامل و جامع راجب CSP صحبت کردند و بهتون پیشنهاد میکنم، حتما اونها رو بخونید.
- Article
- Article
#csp
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11⚡2👌2