2016-07-20 3 views
0

Ich bin gerade dabei, eine Website gegen Clickjacking zu schützen. German Wikipedia die folgende best practice Beispiel gibt, dies zu tun:Best Practice Click Jacking Prävention: Was ist, wenn Javascript deaktiviert ist?

<style> html{display : none ; } </style> 
<script> 
    if(self == top) { 
     document.documentElement.style.display = 'block' ; 
    } else { 
     top.location = self.location ; 
    } 
</script> 

Ich aber frage mich, was passiert, wenn der Client Javascript deaktiviert? Dann wird die Seite NICHT angezeigt. Wir haben die Anforderung, eine voll funktionsfähige none-javascript-Version der App zu versenden.

Jede Empfehlung, das zu erreichen?

+0

Heutzutage können Sie sich wahrscheinlich nur auf X-Frame-Optionen verlassen. – Bergi

+0

Leider haben wir Richtlinien, die diese Anforderung erfüllen, einschließlich JavaScript-Mechanismen zur Verhinderung von Clickjacking:/ – smoes

+0

Sie könnten ' ', aber das würde den gesamten Zweck dieses FrameBusting-Ansatzes zunichte machen. Sie können Framebusting-Skripte nicht verwenden, wenn JS aktiviert ist. – Bergi

Antwort

2

können Sie

verwenden
<script> 
    if (self !== top) { 
     document.documentElement.style.display = 'none'; 
     top.location = self.location; 
    } 
</script> 

noch die Seite im Fall verstecken wird die Navigation Versuch erfolgreich angegriffen. Sie könnten stattdessen auch eine Nachricht in der Form self.location.href + " cannot be displayed in a frame." anzeigen.

Natürlich verhindert dies nicht, dass Ihre Seite in einem Frame angezeigt wird, wenn JavaScript deaktiviert ist (vielleicht nicht einmal global, sondern nur in Ihrem Frame), daher sollten Sie immer die entsprechende X-Frame-Options-Kopfzeile senden.

Verwandte Themen