iframe چیست؟
iframe که مخفف عبارت inline frame است، یک عنصر HTML است که به شما امکان می دهد سند HTML دیگری را در سند فعلی جاسازی کنید. این در اصل یک پنجره به یک صفحه وب دیگر است که به شما امکان می دهد محتوای خارجی را در وب سایت خود نمایش دهید. عنصر iframe یک منطقه مستطیل شکل در صفحه وب ایجاد می کند، جایی که محتوای یک سند دیگر می تواند نمایش داده شود.
جلوگیری از نمایش سایت به صورت iframe – 7 مرحله
برای جلوگیری از نمایش وب سایت خود در یک iframe در وب سایت دیگری، می توانید این مراحل را دنبال کنید:
- هدر X-Frame-Options: سرصفحه X-Frame-Options را در پاسخ HTTP سرور خود تنظیم کنید. این هدر به شما امکان می دهد مشخص کنید که آیا وب سایت شما می تواند توسط وب سایت های دیگر قاب شود یا خیر. سه مقدار ممکن برای این هدر وجود دارد:
- رد کردن: از هرگونه قاب بندی وب سایت شما جلوگیری می کند.
- SAMEORIGIN: کادربندی را فقط توسط وبسایتهایی از همان مبدا (دامنه یکسان) مجاز میکند.
- ALLOW-FROM uri: کادربندی را فقط توسط URI مشخص شده مجاز میسازد.
- خطمشی امنیت محتوا (CSP): یک خطمشی امنیت محتوا را اجرا کنید که شامل دستورالعمل اجداد قاب است. این دستورالعمل مشخص می کند که کدام مبدا مجاز به جاسازی وب سایت شما در iframe هستند.
- JavaScript Frame Buster: از کد جاوا اسکریپت برای تشخیص اینکه آیا وب سایت شما در iframe بارگیری می شود یا خیر و با هدایت به صفحه اصلی از آن خارج می شود استفاده کنید.
- اسکریپت های فریم کش: اسکریپت های قاب کش را به صفحات وب خود اضافه کنید. این اسکریپت ها از جاوا اسکریپت استفاده می کنند تا بررسی کنند که آیا وب سایت در یک قاب بارگذاری می شود یا خیر و بلافاصله از آن خارج می شود.
- تأیید اعتبار سمت سرور: برای اطمینان از اینکه درخواستهای وارد شده از دامنه شما در یک iframe در دامنه دیگری انجام نمیشود، اعتبارسنجی سمت سرور را انجام دهید.
- خط مشی ارجاع دهنده: هدر Referrer-Policy را در پاسخ HTTP سرور خود تنظیم کنید. این سرصفحه میزان اطلاعات مربوط به URL ارجاع دهنده در سرصفحه ارجاع دهنده HTTP هنگام پیمایش از یک صفحه به صفحه دیگر را کنترل می کند.
- دستورالعمل CSP Sandbox: از دستورالعمل جعبه ایمنی در خطمشی امنیت محتوای خود برای محدود کردن قابلیتهای iframeهای مجاز در وبسایت خود استفاده کنید. دستورالعمل sandbox مجموعهای از محدودیتها را ارائه میکند که میتواند برای iframe اعمال شود، مانند جلوگیری از اجرای جاوا اسکریپت یا محدود کردن ارسال فرم.
جلوگیری از نمایش سایت به صورت iframe – 24 نکته
علاوه بر مراحل ذکر شده در بالا، در اینجا 24 نکته برای افزایش بیشتر امنیت و جلوگیری از نمایش سایت شما به صورت iframe وجود دارد:
- کتابخانههای جاوا اسکریپت Frame Busting: از کتابخانههای جاوا اسکریپت فریمشکنی مانند Framekiller یا Porthole.js استفاده کنید تا مطمئن شوید که وبسایت شما توسط سایتهای دیگر قاب نمیشود.
- HTTP Strict Transport Security (HSTS): HSTS را برای اعمال اتصالات ایمن از طریق HTTPS و جلوگیری از حملات تنزل رتبه اجرا کنید.
- اشتراکگذاری منابع متقاطع (CORS): سرصفحههای CORS را پیکربندی کنید تا کنترل کنید کدام دامنهها مجاز به ارسال درخواستهای منبع متقابل به وبسایت شما هستند.
- محافظت از جک کلیک: مکانیسمهای حفاظت از جک کلیک مانند X-Frame-Options، اجداد فریم CSP، یا تکنیکهای شکستن فریم جاوا اسکریپت را اجرا کنید.
- تأیید هویت دو مرحله ای (2FA): برای افزودن یک لایه امنیتی اضافی و جلوگیری از دسترسی غیرمجاز، 2FA را در وب سایت خود پیاده سازی کنید.
- ممیزیهای امنیتی منظم: بازرسیهای امنیتی منظم کد و زیرساخت وبسایت خود را برای شناسایی هر گونه آسیبپذیری احتمالی انجام دهید.
- فایروال برنامه کاربردی وب (WAF): یک WAF را برای نظارت و فیلتر کردن ترافیک دریافتی ایجاد کنید و هرگونه تلاش مخرب برای بارگیری سایت شما در یک iframe را مسدود کنید.
- استفاده از کوکیهای امن: اطمینان حاصل کنید که کوکیهای استفاده شده توسط وبسایت شما دارای مجموعه ویژگی امن هستند و از انتقال آنها از طریق اتصالات HTTP ناامن جلوگیری میکند.
- اجرای یکپارچگی منابع فرعی (SRI): از SRI برای اطمینان از یکپارچگی اسکریپت های میزبان خارجی و جلوگیری از تزریق کدهای مخرب استفاده کنید.
- نرم افزار را به روز نگه دارید: به طور منظم نرم افزار وب سایت خود، از جمله CMS، افزونه ها، و نرم افزار سرور را به روز کنید و وصله کنید تا هر گونه آسیب پذیری امنیتی شناخته شده را برطرف کنید.
- استفاده از خطمشی امنیت محتوا (CSP): یک CSP قوی را پیادهسازی کنید که منابعی را که میتوان اسکریپتها، شیوه نامهها، تصاویر و سایر منابع را از آنجا بارگیری کرد، محدود میکند.
- تأیید اعتبار و پاکسازی ورودی: ورودی دقیق معتبر را اجرا کنیدتکنیکهای پاکسازی و پاکسازی برای جلوگیری از آسیبپذیریهای رایج وب مانند اسکریپت بین سایتی (XSS) و تزریق SQL.
- روشهای توسعه امن: از شیوههای کدگذاری امن، مانند اعتبارسنجی ورودی/خروجی، مدیریت صحیح خطا، و مدیریت امن جلسه پیروی کنید.
- محیط میزبانی امن: ارائهدهنده میزبانی معتبری را انتخاب کنید که زیرساخت امن، پشتیبانگیری منظم و کنترلهای دسترسی قوی را ارائه میدهد.
- آموزش کاربر: به کاربران خود در مورد خطرات کلیک بر روی پیوندهای مشکوک یا ارائه اطلاعات حساس در وب سایت های ناآشنا آموزش دهید.
- Implement Rate Limiting: مکانیسمهای محدودکننده نرخ را برای جلوگیری از حملات brute-force و درخواستهای بیش از حد از سوی عوامل مخرب اجرا کنید.
- مرور گزارشهای سرور: بهطور منظم گزارشهای سرور را برای هرگونه فعالیت غیرمعمول یا نشانههایی از تلاش برای جاسازی iframe بررسی کنید.
- سیستمهای تشخیص/پیشگیری نفوذ (IDS/IPS) را پیادهسازی کنید: سیستمهای IDS/IPS را برای شناسایی و مسدود کردن هرگونه تلاش برای سوء استفاده از آسیبپذیریها در وبسایت یا سرور خود مستقر کنید.
- اخبار امنیت وبسایت را به طور منظم رصد کنید: از آخرین تهدیدات امنیتی و آسیبپذیریهای تأثیرگذار بر وبسایتها مطلع باشید و اقدامات مناسب را برای کاهش آنها انجام دهید.
- استفاده از Captcha: برای جلوگیری از حملات خودکار به وبسایت خود، کپچا یا سایر اقدامات ضد ربات را اجرا کنید.
- اجرای Secure Session Management: برای محافظت از جلسات کاربر در برابر ربوده شدن، از تکنیکهای مدیریت جلسه امن، مانند وقفه زمانی جلسه و ویژگیهای کوکی امن استفاده کنید.
- انجام اسکن آسیبپذیریها: با استفاده از ابزارهای خودکار اسکن آسیبپذیری، بهطور منظم وبسایت خود را برای آسیبپذیریها اسکن کنید.
- اجرای فایروال های برنامه وب (WAF): یک WAF را برای فیلتر کردن درخواست های مخرب و محافظت در برابر حملات رایج وب ایجاد کنید.
- پشتیبانگیری منظم: از دادهها و فایلهای وبسایت خود پشتیبانگیری منظم داشته باشید تا در صورت بروز یک حادثه امنیتی، به سرعت بازیابی کنید.
3 انتشارات مرجع معتبر یا نام دامنه مورد استفاده در پاسخ به این سوال:
- شبکه توسعه دهندگان موزیلا (MDN): MDN یک منبع جامع برای توسعه دهندگان وب است که مستندات دقیقی در مورد HTML، CSS، جاوا اسکریپت و سایر فناوری های وب ارائه می دهد. به طور گسترده ای به عنوان یک منبع معتبر برای اطلاعات مربوط به وب شناخته شده است.
- OWASP (پروژه امنیت برنامه های وب باز): OWASP یک سازمان غیرانتفاعی است که بر بهبود امنیت برنامه های کاربردی نرم افزاری و وب سایت ها تمرکز دارد. وب سایت آنها منابع گسترده ای از جمله راهنماها، بهترین شیوه ها و ابزارهایی برای امنیت برنامه های کاربردی وب ارائه می دهد.
- W3C (کنسرسیوم وب جهانی): W3C یک جامعه بین المللی است که استانداردهای باز را برای وب توسعه می دهد. مشخصات و دستورالعملهای آنها اطلاعات معتبری در مورد فناوریهای وب، از جمله HTML، CSS، و موضوعات مرتبط با امنیت ارائه میدهد.