مرکز آموزش

هشدار Insecure و Mixed Content در SSL و چگونگی رفع آن

  • 114

اگر به تازگی اقدام به خرید و نصب گواهینامه SSL کرده‌اید، حتما انتظار دارید که در هنگام بازدید از وبسایت خود، نمادی از قفل امن در نوار URL مرورگر مشاهده کنید. با این وجود در بعضی موارد به جای این قفل با هشدارهایی چون Insecure, mixed Content و یا Your connection to this site is not fully secure مواجه می‌شوید.

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

 

Mixed Content چیست و نحوه رفع مشکل چگونه است؟

رایج ترین نمونه از محتوای ترکیبی یا Mixed Content، وقتی است که تصاویر لود شده در صفحه به صورت ناامن (Insecure) تعریف شده باشند.  به عنوان مثال لینک تصویر به شکل http://mydomain.com/image.jpg درج شده اما وبسایت شما با استفاده از آدرس https://mydomain.com بارگذاری شده است. پس دو پروتکل مختلف از یک دامنه در صفحه وبسایت شما وجود دارد. این تناقض دو تاثیر می‌تواند داشته باشد:

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

 

 

با بررسی از Inspect Element در بخش Console براحتی می‌توانید آن دسته از عناصر صفحه که با هشدار Mixed Content مواجه هستند، را مشاهده کنید.

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

در اغلب مرورگرها چون Chrome, FireFox و ... با کلیک راست بر روی صفحه و انتخاب گزینه Inspect Element می‌توانید به سربرگ Console مراجعه و محتوای Mixed Content را مشاهده کنید.

شما همچنین می‌توانید از ابزاری چون Why No Padlock برای شناسایی محتوایی که از طریق https بارگذاری نمی‌شوند‌ اقدام کنید. ضمن اینکه با استفاده از ابزار SSL Checker می‌توانید سلامت گواهینامه SSL را نیز بررسی کنید.

 

بنابراین به منظور رفع مشکل Mixed Content و داشتن یک وبسایت با محتوای کاملا امن، (Fully Secured Site) لازم است با روش‌های مذکور تمامی لینک‌های به کار رفته و عناصر در صفحه را از http به https تغییر دهید.

به طور کلی پیشنهاد می‌شود لینک‌ها را به روش دستی و با استفاده از ابزار Inspect Element > Console و یا Why No Padlock شناسایی کرده و سپس از http به https تغییر دهید. اما چنانچه تعداد لینک‌ها زیاد هستند می‌توانید از طرق دیتابیس و یا در وردپرس از طریق پلاگین‌های زیر اقدام کنید:

پلاگین Insecure Content Fixer plugin
پلاگین Better Search and Replace

کار تمام شد!

 

نکات قابل توجه

همچنین اطمینان حاصل کنید که تنظیمات SSL مطابق با موارد زیر به درستی در وبسایت و هاست شما انجام شده باشند:

1- برای اطمینان از صحت اعتبار SSL، کافیست بر روی نماد قفل یا عبارت Insecure کلیک کنید و اطمینان حاصل کنید که تاریخ گواهی منقضی نشده باشد. دامنه درج شده در SSL بایستی با دامنه درج شده در URL یکسان باشد. (با www و بدون آن یکسان هستند.)

2- در این مرحله لازم است Redirect خودکار به https را فعال کنیم:

چنانچه از هاست لینوکس و cPanel استفاده می‌کنید به بخش Domains > Domains مراجعه کنید و گزینه Force Https Redirect را فعال کنید.

چنانچه از هاست ویندوز و Plesk استفاده می‌کنید به بخش Hosting Settings > Security مراجعه کنید و چکباکس گزینه Permanent SEO-safe 301 redirect from HTTP to HTTPS را فعال کنید.

3- چنانچه در تنظیمات وبسایت یا سیستم مدیریت محتوا مورد استفاده دامنه وبسایت را وارد کرده باشید، اطمینان حاصل کنید که آن را به صورت https://mydomain.com وارد کرده‌اید. به عنوان مثال چنانچه از وردپرس استفاده می‌کنید به منو Settings > General یا به زبان فارسی تنظیمات > عمومی  مراجعه کنید و WordPress Address و Site Address را با استفاده از https بروز کنید.

تمامی حقوق مادی و معنوی این مطلب متعلق به HiSupport است.
کپی برداری از مطالب تنها با ذکر منبع و لینک به وبسایت HiSupport بلامانع است.


آیا این آموزش به شما کمک کرد؟