Komentar

المشاركات

Cara Menggunakan Skrip Proteksi Halaman (Frame Guard)

 

Cara Menggunakan Skrip Proteksi Halaman (Frame Guard)

Berikut adalah cara mudah untuk melindungi halaman Anda agar hanya bisa diakses dari dalam <iframe> portal utama.

Langkah 1: Tambahkan Blok HTML

Salin dan tempel kode HTML berikut tepat setelah tag <body> pada halaman yang ingin Anda proteksi.

<!-- Pesan Akses Ditolak -->
<div id="access-denied" class="hidden fixed inset-0 bg-slate-100 flex items-center justify-center text-center p-4 z-50">
    <div>
        <i data-lucide="shield-alert" class="h-16 w-16 text-red-500 mx-auto mb-4"></i>
        <h1 class="text-3xl font-bold text-slate-800">Akses Ditolak</h1>
        <p class="text-slate-600 mt-2">Halaman ini hanya dapat diakses melalui portal utama.</p>
    </div>
</div>

<!-- Bungkus semua konten utama Anda di sini -->
<div id="content-wrapper">
    <!-- ... SELURUH KONTEN HALAMAN ANDA MASUK DI SINI ... -->
</div>

Penting: Pastikan semua konten asli halaman Anda berada di dalam <div id="content-wrapper">.

Langkah 2: Tambahkan File JavaScript

Gunakan file frame-guard.js yang telah dibuat. Di halaman HTML Anda, tambahkan baris berikut tepat sebelum tag penutup </body>.

<script src="frame-guard.js" defer></script>

Kode Scriptnya :
document.addEventListener('DOMContentLoaded', () => {
    /**
     * Logika Frame Guard
     * Memeriksa apakah halaman ini sedang dibuka secara langsung di browser
     * atau dimuat di dalam sebuah iframe.
     */
    if (window.self === window.top) {
        // Jika halaman dibuka langsung (bukan di dalam iframe):
       
        // 1. Sembunyikan konten utama halaman.
        const content = document.getElementById('content-wrapper');
        if (content) {
            content.style.display = 'none';
        }

        // 2. Tampilkan pesan "Akses Ditolak".
        const accessDeniedMessage = document.getElementById('access-denied');
        if (accessDeniedMessage) {
            accessDeniedMessage.classList.remove('hidden');
            accessDeniedMessage.classList.add('flex');
        }

        // 3. Inisialisasi ikon Lucide agar ikon peringatan muncul.
        if (typeof lucide !== 'undefined') {
            lucide.createIcons();
        }
    }
});




إرسال تعليق

Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.