Ilustrasi HTTPS dengan simbol peringatan mixed content seperti ikon bug dan shield merah

Cara Mencegah Mixed Content di Website HTTPS dan Dampaknya terhadap Keamanan

Punya website yang udah pakai HTTPS tapi masih sering muncul warning “Not Fully Secure” di browser? Bisa jadi itu karena mixed content. Masalah ini sering terjadi tanpa disadari, padahal dampaknya cukup serius. Mixed content bukan hanya bikin tampilan website kelihatan nggak profesional, tapi juga bisa jadi celah keamanan yang berbahaya.

Artikel ini akan membahas apa itu mixed content, kenapa bisa muncul, serta cara mengatasinya di berbagai jenis hosting—termasuk cPanel, DirectAdmin, dan VPS.

Apa Itu Mixed Content?

Mixed content terjadi saat sebuah halaman HTTPS memuat resource (seperti gambar, script, CSS, iframe) dari sumber HTTP yang tidak terenkripsi. Contohnya:

<img src="http://namasitus.com/logo.png">

Padahal halaman utamanya sudah HTTPS:

https://namadomain.com

Browser akan membaca ini sebagai konten campuran, karena ada kombinasi sumber aman dan tidak aman.

Jenis-Jenis Mixed Content

  1. Active mixed content:
    • Termasuk file JS, iframe, dan XHR
    • Diblokir langsung oleh browser karena bisa dimanipulasi oleh attacker
  2. Passive mixed content:
    • Termasuk gambar, video, audio
    • Biasanya tetap ditampilkan, tapi menyebabkan status SSL dianggap tidak aman

Dampaknya terhadap Keamanan Website

  • Pengunjung akan melihat ikon peringatan (bukan gembok hijau)
  • Bisa menurunkan kepercayaan dan kredibilitas
  • Menjadi celah bagi man-in-the-middle attack
  • Google bisa menurunkan ranking SEO karena dianggap kurang aman

Cara Deteksi Mixed Content

Sebelum memperbaiki, kamu perlu tahu dulu di mana letak mixed content-nya. Berikut beberapa cara:

1. Gunakan Browser Console

  • Tekan Ctrl + Shift + I atau F12 di browser
  • Buka tab Console
  • Cek log peringatan “Mixed Content”

2. Gunakan Tools Online

3. Cek Source Code Manual

Cari string http:// dalam file HTML, CSS, dan JavaScript yang kamu pakai.

Cara Mengatasi Mixed Content

A. Pengguna Hosting cPanel Flazz Networks

  1. Gunakan Search & Replace di Database (WordPress)
    • Install plugin “Better Search Replace”
    • Ganti http://namadomain.com jadi https://namadomain.com
  2. Edit .htaccess (untuk force HTTPS)
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
  1. Gunakan SSL Insecure Content Fixer (WordPress)
    • Aktifkan opsi “Capture all”
    • Cocok untuk theme/plugin lama yang belum full HTTPS

B. Pengguna Hosting DirectAdmin Flazz Networks

  1. Edit file .htaccess untuk redirect ke HTTPS
  2. Periksa URL absolut di CMS atau script website
  3. Update konfigurasi CMS agar semua base URL menggunakan HTTPS

C. Pengguna VPS Flazz Networks (Tanpa Panel)

  1. Edit Konfigurasi Web Server
    • Di Apache: pastikan base URL pakai HTTPS
    • Di Nginx: periksa rewrite dan root path
  2. Gunakan perintah curl untuk deteksi
curl -s https://namadomain.com | grep http:\/\/
  1. Ubah semua link hardcoded di template, script, dan asset ke protokol https://

Tips Tambahan Agar Bebas Mixed Content

  • Jangan pakai CDN atau script dari sumber HTTP
  • Pastikan logo, gambar, JS, dan CSS diupload ke server sendiri atau gunakan CDN yang support HTTPS
  • Cek plugin dan tema WordPress apakah sudah kompatibel HTTPS
  • Hindari copy paste embed code dari sumber yang belum aman

Dengan melakukan audit dan perbaikan secara menyeluruh, kamu bisa memastikan bahwa seluruh elemen di halaman benar-benar terenkripsi. Kalau butuh bantuan setup HTTPS dan audit mixed content, kamu bisa hubungi tim Flazz Networks:

Bagikan:

Comments

No comments yet. Why don’t you start the discussion?

    Leave a Reply

    Your email address will not be published. Required fields are marked *