2016-12-02 4 views
0

ich iframe Einbetten Seiten deaktivieren möchten, von meiner Website zu anderen Websites und ich mache diese js:disable iframe für andere Websites einbetten

<script type="text/javascript"> if(document.referrer.indexOf("mydomain.com") != -1) { window.location = "http://www.youtube.com/watch_popup?v=oHg5SJYRHA0"; } </script>

Script funktioniert, aber ich habe page01.php und Seite 02 .php

ich für page02.php in page01.php Quellcode einfügen iframe wollen

<iframe src="page02.php"></iframe> 

Als ich dieses ich, bekam Umleitung auf:

http://www.youtube.com/watch_popup?v=oHg5SJYRHA0 

Wie dieses Problem zu lösen? Danke

+0

Ändern Sie die Zielzeichenfolge in 'window.location =" "'? Ich würde es sowieso Server-Seite codieren –

Antwort

1

Ich würde vorschlagen, dass Sie die X-Frame-Optionen-Header verwenden. Wenn Sie nginx verwenden, können Sie diese Zeile in dem Server oder Standort Block hinzufügen:

add_header X-Frame-Options "SAMEORIGIN"; 

Wenn Sie diese Header hinzufügen, wird ein moderner Browser die Anforderung verweigern, wenn jemand versucht, Ihre Seite in einem Rahmen zu laden. Beachten Sie, dass dies in älteren Browsern nicht funktioniert.

+0

Vielleicht ist das eine gute Idee, aber wo diesen Code hinzufügen? In meiner Seite02.php oder Site index.php? Oder vielleicht in htaccess Datei? Kannst du mir ein Beispiel geben? Danke – Aleksandar

+0

Dieses Snippet geht in nginx Server-Konfigurationsdatei. Es scheint, dass Sie Apache verwenden. Versuchen Sie hinzufügen 'Header hinzufügen X-Frame-Optionen" SAMEORIGIN "' zu Ihrem .htaccess-Datei –

+0

Eigentlich

0

Wenn Sie den Schutz nicht den Browsern überlassen möchten, können Sie immer noch JS verwenden.

//Check if the page is loaded in an iframe 
if(window.self != window.top) { 
    //Almost all browsers will deny Cross-Origin script access, so 
    //we will use a try-catch block 
    try { 
    if(window.parent.location.hostname.indexOf("mydomain.com") == -1) { 
     window.location.href = "http://www.youtube.com/watch_popup?v=oHg5SJYRHA0"; 
    } else { 
     //You are in an iframe but Same-Origin 
    } 
    } catch (ex) { 
    //Congrats, you are in an iframe loaded in a stranger's site! 
    window.location.href = "http://www.youtube.com/watch_popup?v=oHg5SJYRHA0"; 
    } 
} 
+0

Danke für die Antwort, aber mit diesem Code, ich habe die gleiche isuue .. Nichts wurde geändert .. – Aleksandar

0

Für WordPress-Websites können wir einfach den Code unten auf der wp-config.php löschen und es wird die Arbeit machen.

header('X-Frame-Options: DENY); 
Verwandte Themen