یکی از راههای افزایش امنیت، تغییر پروتکلهای وبسایت از http به https است. اما گاهی در پروسه تغییر پروتکل ممکن است با مشکلات و چالشهایی روبرو شوید. یکی از این مشکلات، خطای Mixed content است. خطای Mixed content چیست؟ این خطا به ترکیبی از منابع امن و غیر امن موجود در یک صفحه وب اشاره دارد. همچنین برخی از سایتها با پروتکل https ممکن است در گوگل کروم نمایش داده نشود،به همین دلیل قصد داریم در این آموزش هم به رفع خطای https در گوگل کروم بپردازیم. در ادامه با ما همراه باشید تا این دو خطای مهم را در وردپرس بررسی کنیم.
در این مطلب به موارد زیر میپردازیم:
- خطای Mixed content و روشهای شناسایی آن
- رفع خطای https در گوگل کروم
خطای Mixed content
اگر وبسایت خود را از HTTP به HTTPS منتقل کردهاید، اما همچنان در مرورگر اخطاری مبتنی بر هشدارهای مربوط به محتوای فعال مخفی یا “اتصال شما به این سایت کاملاً ایمن نیست” مشاهده میکنید، این مطلب برای کمک به شما مناسب است و به شما در رفع خطای Mixed content کمک خواهد کرد پس حتما آن را تا انتها مطالعه کنید.
توصیه اکید میشود HTTPS / SSL را در وردپرس اضافه کنید، زیرا بعد از ژوئیه 2018، گوگل کروم تمام نسخههای http وبسایت را به عنوان ناامن علامتگذاری میکند. SSL یک لایه امنیتی اضافی به دادههای منتقل شده از وبسایت شما به مرورگرهای کاربران اضافه میکند. موتورهای جستجو مانند گوگل استفاده از SSL را در سایت نیز توصیه میکنند.
برخی از شرکتهای ارائه دهنده هاست، SSL رایگان را به عنوان بخشی از بستههای خود ارائه میدهند. اگر SSL را به طور صحیح در سایت خود پیادهسازی کنید، یک نماد قفل سبز کنار URL وبسایت خود در نوار آدرس مرورگر مشاهده خواهید کرد. اما اگر تنظیمات HTTPs / SSL خود را به درستی تنظیم نکرده باشید، به صورت یک علامت اطلاعات یا نمادی از قفل شکسته، در نوار آدرس مشاهده میکنید.
این در حالی است که وبسایت شما از گواهی SSL استفاده میکند، اما برخی از مطالب موجود در وبسایتتان هنوز از آدرسهای اینترنتی غیر HTTPS را دارند. با استفاده از inspect گرفتن، متوجه میشوید که کدام محتوا از طریق پروتکل ناامن ارائه میشود. خطای mixed content، به عنوان یک هشدار با جزئیات مربوط به هر خطا در کنسول نمایش داده میشود.
اگر یک خطای mixed content، مشاهده کنید، میتوانید به صورت دستی آن را رفع کنید. اما در صورت مشاهده خطای بیشتر، رفع خطا به صورت دستی امکانپذیر نیست.
تعریفی دقیق از خطای Mixed content
هنگامی که یک کاربر از صفحههای ارائه شده از طریق HTTPS بازدید میکند، ارتباط آنها با وبسرور از طریق TLS رمزگذاری میشود و از این رو در برابر اکثر حملات ایمن و محافظ میگردند. اما وقتی سایت کاملاً محافظت نشده یا از کلیه محتوا محافظت نمیکند، مرورگر خطای Mixed content را نشان میدهد. هنگامی که یک صفحه وب حاوی ترکیبی امن (HTTPS) و غیر امن (HTTP) است، محتوا از طریق SSL به مرورگر ارسال میشود و باعث بروز خطای Mixed content خواهد شد. به عبارتی هنگام بارگیری محتوای HTTP در صفحه HTTPS، یک خطای Mixed content ایجاد میشود.
روشهای یافتن خطای Mixed content
در هر نوع عیبیابی روشهای مختلفی را تست میکنیم. مسلما برای یافتن این خطا نیز باید روشهایی را بررسی کنیم.روشهای ما عبارت است از:
- یک راه برای یافتن خطای Mixed content، مراجعه به سایت و استفاده از ابزارهای داخلی مرورگر است. علاوه بر این به شما کمک میکند تا هرگونه اسکریپت ناامن بارگیری شده به درخواست HTTPS را پیدا کنید.
- از ابزار Screaming Frog SEO Spider استفاده کنید.
- استفاده از اسکنر JitBit
- از جستجوگر HTTPS استفاده کنید
رفع خطای Mixed content در وردپرس
اگر تعداد این خطا زیاد باشد، رفع این خطا به روش دستی امکان پذیر نیست، شما باید از افزونه SSL Insecure Content Fixer استفاده کنید. این افزونه را دریافت کنید و در سایت خود نصب نمایید.
حال برای دسترسی به تنظیمات افزونه به پنل مدیریتی بروید و گزینه SSL Insecure Content را از زیرمنوی تنظیمات انتخاب کنید. این افزونه دارای سطوح مختلف برای رفع خطای Mixed content است، که در ادامه به معرفی این سطوح میپردازیم.
دانلود افزونه صفحه افزونهSimple: سریعترین و بهترین روش برای کلیه کاربران مبتدی است. به طور خودکار خطای Mixed content در وردپرس را برای اسکریپتها، شیوه نامهها و تصاویر سایت برطرف میکند.
Content: اگر روش فوق، خطاهای Mixed content را شناسایی و رفع نکرد، باید از این روش استفاده کنید. در این روش علاوه بر بررسیهایی که در سطح Simple انجام میشود، در محتوای وردپرس و ابزارکهای متنی جستجوهایی برای تشخیص خطای مربوطه صورت میگیرد.
Widgets: این روش شامل تمام بررسیهای سطح Content به همراه یک مورد اضافی برای بررسی موارد بارگذاری شده در تمام ابزارکهای سایت است.
Capture: این گزینه، تمامی موارد موجود در صفحات سایت، از هدر تا فوتر را بررسی میکند. تمام آدرسها را با پروتکل HTTPs جایگزین میکند. عملکرد این سطح کندتر است و سایت شما را تحت تاثیر قرار میدهد.
Capture all: اگر سطوح قبل به شما در رفع خطای Mixed content کمک نکرد، از این سطح استفاده کنید. این سطح تلاش میکند تا تمام مواردی که باعث بروز خطا شده را شناسایی و رفع کند. اما ممکن است تاثیر منفی بر روی سایت شما بگذارد.
در نهایت یکی از سطوح را انتخاب و تغییرات را ذخیره نمایید. در ادامه باید به بخش HTTPS detection بروید و نحوه شناسایی محتوای HTTP را در سایت خود انتخاب کنید.
به صورت پیش فرض گزینه standard WordPress function انتخاب شده است، که در بیشتر سایتها کار میکند. در ادامه موارد دیگری هم وجود دارد که با توجه به نیاز یکی از آنها را انتخاب نمایید. پس از انتخاب گزینه مورد نظر تغییرات را ذخیره کنید.
پس از انجام و ذخیرهسازی تغییرات به سایت خود مراجعه و ببینید که خطای Mixed Content رفع شده است یا خیر. در صورت عدم رفع خطا سطوح بعدی افزونه را بررسی کنید.
خطای https در گوگل کروم
رفع خطای https در گوگل کروم از جمله خطاهایی است که برای مرورگرهای بیشماری رخ میدهد و از باز شدن صفحات وبسایت HTTPS جلوگیری میکند. پیام خطای HTTPS در مرورگرهای مختلف، متفاوت است. به عنوان مثال “NET::ERR_CERT_AUTHORITY_INVALID” و “(SSL Error Cannot connect to the real (website URL” پیامهای خطا HTTPS در زبانههای باز مرورگر کروم است.
در ادامه به بررسی این خطا و چگونگی رفع خطای https در گوگل کروم میپردازیم.
۱- پاک کردن کش SSL
رفع خطای https در گوگل کروم میتواند به دلیل منسوخ شدن یا ناسازگاری گواهینامه SSL باشد. بنابراین پاک کردن حافظه نهان SSL یکی از راهها برای این خطاست. با انجام مراحل زیر میتوانید گواهی SSL را برای گوگل کروم پاک کنید.
ابتدا مرورگر گوگل کروم را باز کنید، سپس بر روی دکمه Customize Google Chrome (سفارشیسازی گوگل کروم)در سمت راست از بالای پنجره، کلیک کنید.
گزینه Settings (تنظیمات) را انتخاب کنید تا صفحه تنظیمات همانند تصویر زیر برای شما باز شود.
بر روی Advanced کلیک کنید تا گزینههای بیشتر نشان داده شود. سپس به سمت پایین اسکرول کنید و گزینه Open proxy settings را انتخاب کنید تا زیر پنجرهی جدیدی باز شود.
در ادامه به تب Content بروید و برای پاک کردن کش SSL بر روی Clear SSL state کلیک کنید.
۲- پاکسازی کامل کش DNS ویندوز 10
- برای پاک کردن دادههای ذخیره شده قدیمی یا خراب، شاید لازم باشد کش DNS را کامل پاکسازی کنید.
- کلمه کلیدی Command Prompt را در کادر جستجوی منوی استارت بنویسید.
- سپس بر روی Command Prompt کلیک راست کرده و زیرمنوی Run as administrator را انتخاب نمایید.
- در صفحه مشکی عبارت ipconfig /flushdns را وارد کنید و دکمه Enter را بزنید تا کش DNS به طور کامل پاک شود.
۳- بررسی تنظیمات زمان و تاریخ در ویندوز 10
خطای HTTPS اغلب به دلیل تنظیمات زمان و تاریخ در ویندوز 10 است. حتی اگر ظاهرا ساعت و تاریخ در نوار وظیفه ویندوز شما درست باشد، ممکن است که منطقه زمانی را درست تنظیم نکرده باشید. برای انجام تنظیمات تاریخ و زمان در ویندوز 10 به صورت زیر عمل کنید:
- در منوی شروع بر روی گزینه Setting کلیک کنید.
- سپس Time & language را انتخاب کنید و بر روی time and date برای تغییر زمان کلیک کنید.
- بر روی پنجره کشویی Time zone کلیک کنید.
- در اینجا تنظیمات منطقه زمانی متعددی وجود دارد که دارای زمان و تاریخ یکسان هستند. دقت داشته باشید که منطقه زمانی مناسبی را انتخاب کنید.
- از طرف دیگر، میتوانید ویندوز را با یک سرور زمان دیگر همگامسازی کنید. برای انجام این کار بر روی Add clocks for different time zones در همان پنجره time and date کلیک کنید.
- در پنجره جدید باز شده، زبانه Internet Time را انتخاب کنید.
- در تصویر زیر بر روی دکمه Change settings کلیک کنید.
- سپس تیک گزینه Synchronize with an internet time server را بزنید و از بخش منوی کشویی server ، سرور موردنظرتان را انتخاب نمایید.
۴- بروز رسانی گوگل کروم
بررسی کنید که گوگل کروم آپدیت هست یا خیر. برای بروز رسانی گوگل کروم به Customize گوگل کروم بروید و همانند تصویرکارهای زیر را انجام دهید.
سپس مرورگر به صورت خودکار در صورت بروز نبودن، آپدیت میشود. بعد از بروزرسانی، دکمه راه اندازی مجدد را فشار دهید.
۵- غیرفعال کردن نرم افزار VPN و نرم افزار آنتی ویروس شخص ثالث
سایتهایی که با HTTPS شروع میشوند، ممکن است به دلیل نصب برخی از نرم افزارهای VPN و آنتی ویروس، باز نشوند. با غیرفعال کردن VPNها و آنتی ویروس این مشکل برطرف میشود. برای غیرفعال یا خاموش کردن آنتی ویروس بر روی آیکون آن در نوار وظیفه ویندوز راست کلیک کنید و آن را غیرفعال یا خاموش نمایید.
یا نرم افزار آنتی ویروس را از طریق پنجره اصلی آن خاموش کنید. البته یک راه دیگر وجود دارد که باید مراحل زیر را انجام دهید.
- با استفاده از کلید میانبر Windows و R، پنجره Run را باز کنید
- عبارت Control Panel را در بخش جستجوی Run بنویسید و بر روی OK کلیک کنید (البته روشهای متعددی برای رفتن به پنجره کنترل پنل وجود دارد)
- سپس روی Network and Sharing Center کلیک نمایید
- در پنجره تنظیمات اینترنت از پنل سمت چپ Change adapter settings را انتخاب نمایید.
- سپس بر روی اتصال VPN خود راست کلیک کرده و Disable را انتخاب کنید.
در این صورت اتصال VPN را قطع کردید، برای اتصال دوباره، کارهای گفته شده را انجام دهید.
۶- تنظیم مجدد مرورگر کروم
برگرداندن تنظیمات کروم به تنظیمات پیش فرض آن، ممکن است به رفع خطای https در گوگل کروم بیانجامد. انجام این کار باعث حذف کل اطلاعات و افزونه اضافه شده به گوگل کروم میشود. در ادامه به بررسی مراحل بازگردانی تنظیمات پیشفرض گوگل کروم میپردازیم:
- در گوگل کروم بر روی Customize Google Chrome در بالای سمت راست صفحه کلیک کنید.
- سپس از منوی باز شده Settings را انتخاب نمایید.
- برای انجام تنظیمات بیشتر بر روی Advanced کلیک کنید.
- در ادامه بر روی Reset همانند تصویر زیر کلیک کنید.
- حال برای بازگردانی تنظیمات پیش فرض بر روی دکمه Reset کلیک کنید. تا تغییرات صورت گیرد.
۷- پاک کردن پیشینه جستجو
مراحل زیر را برای حذف دادههای مرور شده از مرورگر کروم خود دنبال کنید:
- مرورگر کروم را باز کنید و کلیدهای ترکیبی Ctrl + Shift + Delete را فشار دهید. در واقع باید به بخش تنظیمات پیشینه جستجو بروید.
- محدوده زمانی را تغییر دهید و حالت All Time را انتخاب کنید.
- تیک گزینههای Cookies and other site data و Cached images and files را بزنید.
- سپس بر روی دکمه Clear Data کلیک کنید.
صبر کنید تا فرآیند به صورت کامل انجام شود، و پس از اتمام کار، دوباره وبسایت را در مرورگر خود بارگذاری کنید.
۸- غیرفعال کردن پروتکل QUIC در کروم
برای رفع خطای https در گوگل کروم، باید پروتکل QUIC را در مرورگر کروم غیرفعال کنید. برای انجام این کار مراحل زیر را انجام دهید:
- عبارت chrome://flags/#enable-quic را در آدرس بار کروم وارد کنید و اینتر را بزنید.
- سپس در بخش تنظیمات Experimental QUIC Protocol، حالت Disable را انتخاب کنید.
حال کروم را دوباره راه اندازی کنید و دوباره وب سایت را باز کنید.
نتیجهگیری نهایی
گاهی اوقات پس از فعالسازی گواهینامه SSL برای وبسایت و فعالسازی پروتکل HTTPS ممکن است با مشکلاتی مواجه شوید. مانند عدم تشخیص صحیح پروتکل از سوی وبسایت که در این گونه موارد با خطای Mixed Content در وردپرس مواجه خواهید شد. در این آموزش با استفاده از افزونه SSL Insecure Content Fixer، این مشکل را برطرف کردیم، البته راه حلهای مختلفی وجود دارد.
همچنین اگر وبسایتی با پروتکل HTTPS در برخی از مرورگرها از جمله کروم نمایش داده نمیشود و با خطای HTTPS روبرو شدید، نگران نباشید. روشهایی برای رفع خطای https در گوگل کروم وجود دارد که در این آموزش معرفی شدند. آیا این مشکلات برای شما پیش آمده است؟ برای حل آن چه راهکاری داشتهاید؟ نظرات خود را با ما در میان بگذارید.
منابع: