محتوای ترکیبی چیست؟

یک صفحه زمانی محتوای ترکیبی دارد که HTML اولیه آن از طریق اتصال امن HTTPS بارگذاری شود، اما سایر منابع (مانند تصاویر، ویدیوها، استایل‌شیت‌ها و اسکریپت‌ها) از طریق اتصال ناامن HTTP بارگذاری شوند. این نام به ترکیبی از محتوای HTTP و HTTPS در یک صفحه اشاره دارد.

درخواست زیرمنابع با استفاده از پروتکل ناامن HTTP، امنیت صفحه را تضعیف می‌کند، زیرا این درخواست‌ها در برابر حملات on-path آسیب‌پذیر هستند، که در آن یک مهاجم اتصال شبکه را شنود می‌کند و ارتباط بین دو طرف را مشاهده یا تغییر می‌دهد. با استفاده از این منابع، مهاجمان می‌توانند کاربران را ردیابی کرده و محتوا را در یک وب‌سایت جایگزین کنند و در صورت محتوای ترکیبی فعال، می‌توانند کنترل کامل صفحه، نه فقط منابع ناامن، را به دست گیرند.

اگرچه بسیاری از مرورگرها هشدارهای محتوای ترکیبی را به کاربر گزارش می‌دهند، اما این گزارش اغلب خیلی دیر است: درخواست‌های ناامن قبلاً انجام شده‌اند و امنیت صفحه به خطر افتاده است.

اکثر مرورگرها اکنون به دلایل امنیتی محتوای ترکیبی را مسدود می‌کنند. درخواست‌های محتوای ناامن را به محتوای امن تغییر دهید تا از بارگیری صحیح صفحه خود اطمینان حاصل کنید.

دو نوع محتوای ترکیبی

دو نوع محتوای ترکیبی وجود دارد: فعال و غیرفعال.

محتوای ترکیبی غیرفعال ، شامل تصاویر، ویدیو و صدا، با بقیه صفحه تعامل ندارد، بنابراین حمله مرد میانی در صورت رهگیری یا تغییر آن محتوا، در کاری که می‌تواند انجام دهد محدود است.

Active mixed content interacts with the page as a whole. This includes scripts, stylesheets, iframes, and any other code the browser can download and execute. Attacks on active mixed content let an attacker do almost anything to the page.

محتوای ترکیبی غیرفعال

محتوای ترکیبی غیرفعال خطر کمتری نسبت به محتوای ترکیبی فعال دارد، اما این خطر هنوز وجود دارد. برای مثال، یک مهاجم می‌تواند:

  • درخواست‌های HTTP برای تصاویر در سایت خود را رهگیری کنید و آن تصاویر را تعویض یا جایگزین کنید.
  • تصاویر را روی دکمه‌ها جایگزین کنید تا کاربران آنها را گیج کنند و مثلاً محتوایی را که قصد ذخیره آن را داشتند حذف کنند.
  • با جایگزین کردن تصاویر سایت خود با محتوای مستهجن، ظاهر آن را خراب کنید.
  • تصاویر محصول خود را با تبلیغات چیز دیگری جایگزین کنید.

حتی اگر مهاجم محتوای سایت شما را تغییر ندهد، می‌تواند کاربران را از طریق درخواست‌های محتوای ترکیبی ردیابی کند. آنها همچنین می‌توانند بر اساس تصاویر یا منابع دیگری که مرورگر بارگیری می‌کند، بگویند کاربر از کدام صفحات بازدید می‌کند و کدام محصولات را مشاهده می‌کند.

اگر محتوای ترکیبی غیرفعال وجود داشته باشد، اکثر مرورگرها در نوار آدرس نشان می‌دهند که صفحه امن نیست، حتی زمانی که خود صفحه از طریق HTTPS بارگذاری شده باشد. می‌توانید این رفتار را در این نسخه آزمایشی مشاهده کنید.

تا همین اواخر، محتوای ترکیبی غیرفعال در همه مرورگرها بارگذاری می‌شد، زیرا مسدود کردن آن باعث از کار افتادن بسیاری از وب‌سایت‌ها می‌شد. این وضعیت اکنون در حال تغییر است، بنابراین به‌روزرسانی هرگونه نمونه از محتوای ترکیبی در سایت شما بسیار حیاتی است.

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

هر زمان که کروم محتوای ترکیبی یا محتوای ترکیبی غیرفعال را به صورت خودکار ارتقا می‌دهد، پیام‌های دقیقی را در برگه مشکلات در DevTools ثبت می‌کند تا در مورد رفع مشکل خاص شما به شما توصیه‌هایی ارائه دهد.

تب مشکلات (Problems) در Chrome DevTools اطلاعات دقیقی در مورد مشکل خاص محتوای ترکیبی (Mixed Content) و نحوه رفع آن نشان می‌دهد.
هر منبع ناامن به همراه وضعیت محدودیت آن در DevTools فهرست شده است.

محتوای ترکیبی فعال

محتوای ترکیبی فعال تهدید بزرگتری نسبت به محتوای ترکیبی غیرفعال است. یک مهاجم می‌تواند محتوای فعال را رهگیری و بازنویسی کند و از آن برای کنترل کامل صفحه یا حتی کل وب‌سایت شما استفاده کند. این به آنها اجازه می‌دهد هر جنبه‌ای از صفحه را تغییر دهند، از جمله نمایش محتوای متفاوت، سرقت رمزهای عبور کاربر یا سایر اطلاعات ورود به سیستم، سرقت کوکی‌های جلسه کاربر یا هدایت کامل کاربر به سایتی متفاوت.

از آنجا که خطرات محتوای ترکیبی فعال بسیار زیاد است، اکثر مرورگرها به طور پیش‌فرض این نوع محتوا را برای محافظت از کاربران مسدود می‌کنند، اما رفتار آنها بین فروشندگان و نسخه‌های مختلف مرورگر متفاوت است.

This demo shows examples of active mixed content. Load the example over HTTP to see the content that's blocked when you load the example over HTTPS . Blocked content is also detailed in the Issues tab in DevTools.

تب مشکلات (Problems) در Chrome DevTools اطلاعات دقیقی در مورد مشکل خاص محتوای ترکیبی (Mixed Content) و نحوه رفع آن نشان می‌دهد.
برخی از منابع ناامن برای تقویت امنیت سایت شما مسدود شده‌اند.

مشخصات محتوای ترکیبی

مرورگرها از مشخصات محتوای ترکیبی پیروی می‌کنند که محتوای قابل مسدود شدن اختیاری و دسته‌های محتوای قابل مسدود شدن را تعریف می‌کند.

یک منبع زمانی به عنوان محتوای قابل مسدود شدن اختیاری در نظر گرفته می‌شود که «خطر اجازه استفاده از آن به عنوان محتوای ترکیبی، از خطر اختلال در بخش‌های قابل توجهی از وب بیشتر باشد». این زیرمجموعه‌ای از محتوای ترکیبی غیرفعال است.

All mixed content that isn't optionally blockable is considered blockable , and should be blocked by the browser.

در سال‌های اخیر، استفاده از HTTPS به طرز چشمگیری افزایش یافته است و به طور واضح به پیش‌فرض وب تبدیل شده است. این امر باعث می‌شود که اکنون مرورگرها بتوانند مسدود کردن همه محتوای ترکیبی، حتی آن دسته از زیرمنابعی که در مشخصات محتوای ترکیبی به عنوان مسدودشونده اختیاری تعریف شده‌اند را در نظر بگیرند.

مرورگرهای قدیمی‌تر

برخی از بازدیدکنندگان ممکن است از مرورگرهای قدیمی‌تر استفاده کنند. نسخه‌های مختلف مرورگر از فروشندگان مختلف، محتوای ترکیبی را به طور متفاوتی مدیریت می‌کنند. در بدترین حالت، مرورگرها و نسخه‌های قدیمی‌تر اصلاً هیچ محتوای ترکیبی را مسدود نمی‌کنند، که برای کاربر ناامن است.

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