هنگامی که HTML اولیه آن از طریق یک اتصال HTTPS ایمن بارگیری می شود، یک صفحه دارای محتوای ترکیبی است، اما منابع دیگر (مانند تصاویر، ویدیوها، شیوه نامه ها و اسکریپت ها) از طریق یک اتصال HTTP ناامن بارگیری می شوند. این نام به ترکیب محتوای HTTP و HTTPS در یک صفحه اشاره دارد.
درخواست منابع فرعی با استفاده از پروتکل HTTP ناامن، امنیت صفحه را تضعیف میکند، زیرا این درخواستها در برابر حملات درون مسیری آسیبپذیر هستند، که در آن مهاجم یک اتصال شبکه را استراق سمع میکند و ارتباط بین دو طرف را مشاهده یا تغییر میدهد. با استفاده از این منابع، مهاجمان می توانند کاربران را ردیابی کرده و محتوای یک وب سایت را جایگزین کنند و در مورد محتوای ترکیبی فعال، می توانند کنترل کامل صفحه را به دست بگیرند، نه فقط منابع ناامن.
اگرچه بسیاری از مرورگرها هشدارهای محتوای مختلط را به کاربر گزارش می دهند، گزارش اغلب خیلی دیر است: درخواست های ناامن قبلاً انجام شده و امنیت صفحه به خطر افتاده است.
اکنون اکثر مرورگرها محتوای ترکیبی را به دلایل امنیتی مسدود می کنند. درخواست های محتوای ناامن را به محتوای ایمن تغییر دهید تا مطمئن شوید صفحه شما به درستی بارگیری می شود.
دو نوع محتوای مختلط
دو نوع محتوای مختلط وجود دارد: فعال و غیرفعال.
محتوای ترکیبی غیرفعال ، از جمله تصاویر، ویدیو، و صدا، با بقیه صفحه ارتباط برقرار نمیکند، بنابراین حمله مرد میانی در صورت رهگیری یا تغییر آن محتوا، محدودیتهایی دارد که میتواند انجام دهد.
محتوای ترکیبی فعال با کل صفحه در تعامل است. این شامل اسکریپت ها، شیوه نامه ها، iframes و هر کد دیگری است که مرورگر می تواند دانلود و اجرا کند. حمله به محتوای ترکیبی فعال به مهاجم اجازه می دهد تقریباً هر کاری را برای صفحه انجام دهد.
محتوای مختلط غیرفعال
محتوای مختلط غیرفعال خطر کمتری نسبت به محتوای ترکیبی فعال دارد، اما این خطر هنوز وجود دارد. به عنوان مثال، یک مهاجم می تواند:
- درخواست های HTTP برای تصاویر در سایت خود را قطع کنید و آن تصاویر را تعویض یا جایگزین کنید.
- تصاویر روی دکمهها را جایگزین کنید تا کاربران آنها را گیج کنند و مثلاً محتوایی را که قصد ذخیره کردن آن را داشتند حذف کنند.
- با جایگزین کردن تصاویر خود با محتوای مستهجن، سایت خود را تخریب کنید.
- تصاویر محصول خود را با تبلیغات چیز دیگری جایگزین کنید.
حتی اگر مهاجم محتوای سایت شما را تغییر ندهد، میتواند کاربران را از طریق درخواستهای محتوای ترکیبی ردیابی کند. آنها همچنین می توانند بر اساس تصاویر یا سایر منابعی که مرورگر بارگیری می کند، تشخیص دهند که کاربر از کدام صفحات بازدید می کند و کدام محصولات را مشاهده می کند.
اگر محتوای ترکیبی غیرفعال وجود داشته باشد، بیشتر مرورگرها در نوار آدرس نشان میدهند که صفحه امن نیست، حتی زمانی که خود صفحه از طریق HTTPS بارگیری میشود. شما می توانید این رفتار را در این دمو مشاهده کنید.
تا همین اواخر، محتوای ترکیبی غیرفعال در همه مرورگرها بارگذاری می شد، زیرا مسدود کردن آن باعث شکست بسیاری از وب سایت ها می شد. این در حال حاضر شروع به تغییر کرده است، بنابراین به روز رسانی هر نمونه ای از محتوای ترکیبی در سایت شما حیاتی است.
در برخی موارد، Chrome بهطور خودکار محتوای ترکیبی غیرفعال را ارتقا میدهد . این بدان معناست که اگر دارایی به صورت HTTP کدگذاری شده باشد اما از طریق HTTPS در دسترس باشد، مرورگر نسخه HTTPS را بارگیری میکند. اگر نسخه ایمن وجود نداشته باشد، دارایی بارگیری نمی شود.
هر زمان که Chrome محتوای مختلط را تشخیص میدهد یا محتوای غیرفعال ترکیبی را بهطور خودکار ارتقا میدهد، پیامهای دقیق را در برگه مشکلات در DevTools ثبت میکند تا در مورد رفع مشکل خاص به شما توصیه کند.
محتوای ترکیبی فعال
محتوای مختلط فعال خطر بیشتری نسبت به محتوای ترکیبی غیرفعال دارد. یک مهاجم می تواند محتوای فعال را رهگیری کرده و بازنویسی کند و از آن برای کنترل کامل صفحه یا حتی کل وب سایت شما استفاده کند. این به آنها اجازه میدهد هر جنبهای از صفحه را تغییر دهند، از جمله نمایش محتوای مختلف، سرقت گذرواژههای کاربر یا سایر اطلاعات کاربری ورود به سیستم، سرقت کوکیهای جلسه کاربر، یا هدایت کاربر به طور کامل به یک سایت دیگر.
از آنجایی که خطرات محتوای ترکیبی فعال بسیار زیاد است، اکثر مرورگرها در حال حاضر این نوع محتوا را به طور پیش فرض برای محافظت از کاربران مسدود می کنند، اما رفتار بین فروشندگان و نسخه های مرورگر متفاوت است.
این نسخه ی نمایشی نمونه هایی از محتوای ترکیبی فعال را نشان می دهد. مثال را از طریق HTTP بارگیری کنید تا محتوایی را ببینید که هنگام بارگیری مثال از طریق HTTPS مسدود شده است. محتوای مسدود شده نیز در تب Issues در DevTools به تفصیل آمده است.
مشخصات محتوای مختلط
مرورگرها از مشخصات محتوای ترکیبی پیروی میکنند که دستههای محتوای قابل مسدود شدن و محتوای قابل مسدود کردن را تعریف میکند.
یک منبع به عنوان محتوای اختیاری قابل مسدود کردن واجد شرایط می شود "زمانی که خطر اجازه دادن به استفاده از آن به عنوان محتوای مختلط با خطر شکستن بخش های قابل توجهی از وب بیشتر شود". این زیرمجموعه ای از محتوای مختلط غیرفعال است.
همه محتوای ترکیبی که به صورت اختیاری قابل مسدود نیستند، قابل مسدود شدن در نظر گرفته میشوند و باید توسط مرورگر مسدود شوند.
در سالهای اخیر، استفاده از HTTPS به طور چشمگیری افزایش یافته است و به یک پیشفرض واضح در وب تبدیل شده است. این امر اکنون باعث میشود مرورگرها مسدود کردن همه محتوای ترکیبی، حتی آن دسته از منابع فرعی که در مشخصات محتوای مختلط بهعنوان اختیاری قابل مسدود شدن تعریف شدهاند را در نظر بگیرند.
مرورگرهای قدیمی
برخی از بازدیدکنندگان ممکن است از مرورگرهای قدیمی استفاده کنند. نسخه های مختلف مرورگر از فروشندگان مختلف با محتوای ترکیبی متفاوت برخورد می کنند. در بدترین حالت، مرورگرها و نسخه های قدیمی به هیچ وجه محتوای ترکیبی را مسدود نمی کنند، که برای کاربر ناامن است.
با بارگیری ایمن همه منابع خود و رفع مشکلات محتوای مختلط خود، اطمینان حاصل می کنید که محتوای شما قابل مشاهده است و از کاربران در برابر محتوای خطرناکی که مرورگرهای قدیمی ممکن است مسدود نکنند محافظت می کنید.