Come aggiungere l'intestazione X-Frame-Options a un semplice file HTML?

4

Sto riscontrando problemi nell'aggiungere l'intestazione X-Frame-Options a un semplice file HTML.

C'è un modo per farlo usando JavaScript?

    
posta sam 08.08.2017 - 20:40
fonte

3 risposte

12

L'intestazione X-Frame-Options viene aggiunta sul lato server, non sul client. Questo perché l'intestazione viene utilizzata per controllare il modo in cui il browser deve visualizzare la pagina.

Qualsiasi server ospiterà il tuo file dovrebbe aggiungere questa intestazione.

    
risposta data 08.08.2017 - 20:48
fonte
25

X-Frame-Options è un'intestazione HTTP. In quanto tale, non fa parte dell'HTML e non può essere impostato all'interno di un documento HTML.

Una delle ragioni per cui è solo un'intestazione HTTP è che i client dovrebbero essere in grado di decidere se il documento può essere incorporato in un frame prima analizzando il codice HTML.

Quindi, non è possibile ottenere ciò modificando il file ma è necessario modificare la risposta HTTP del server. In genere, ciò avviene nelle impostazioni fornite dal software del server Web o con un linguaggio lato server.

Ad esempio, un'impostazione in Apache potrebbe essere simile a questa:

Header always append X-Frame-Options DENY

Oppure, in PHP puoi impostare l'intestazione in questo modo:

<?php header('X-Frame-Options: DENY'); ?>

Tieni presente che esiste un CSP più moderno frame-ancestors . Ma mentre alcuni criteri CSP possono essere impostati come tag <meta> , non è possibile qui. Questo funziona non :

<head>
  <!-- This does *not* work! -->
  <meta http-equiv="Content-Security-Policy" content="frame-ancestors 'none'">
</head>

Dai anche un'occhiata alla Scheda trucchi per la difesa di Clickjacking per una panoramica delle misure di difesa del clickjacking oltre all'impostazione dell'XFO intestazione.

    
risposta data 08.08.2017 - 20:48
fonte
0

Dato che nei commenti si dice che IIS è il tuo server web, sì, c'è un modo per impostarlo sul server web stesso.

Diverse altre risposte menzionano l'aggiunta a web.config, che è una buona opzione se si tratta di un'applicazione ASP.NET, ma c'è un altro modo che funziona per qualsiasi applicazione web servita da IIS, indipendentemente dalla tecnologia.

Se apri Internet Information Services (IIS) Manager e espandi il nodo sotto Sites nel riquadro di navigazione ed evidenzi il tuo sito, sotto il gruppo di funzioni IIS nel riquadro di visualizzazione Funzioni, c'è una funzionalità denominata HTTP Response Headers . Se apri questo nodo, nel riquadro Actions a destra, viene visualizzata un'azione per aggiungere un'intestazione. Basta aggiungere l'intestazione con il nome X-Frame-Options e qualunque sia il valore desiderato, e verrà aggiunto da IIS a ogni risposta fornita da quel sito.

    
risposta data 14.01.2019 - 18:07
fonte

Leggi altre domande sui tag