Passa ai contenuti principali

Apache 2 - Il problema della visualizzazione dell'iframe su porta 80 e 443 (X-Frame-Options)



Un problema che può capitare su Apache2 è che potrebbe non visualizzare un <iframe> all'interno di un sito web.

Problema non da poco, anche se il costrutto non è dei più raccomandati dalle linee guida.

Il problema che risolveremo è riferito ad iframe, ma si applica a questi costrutti:

<frame>, <iframe>, <embed>, <object>


Cos'è un <iframe>

Secondo la specifica di Wikipedia: 

L'iframe (dall'inglese inline frame) in informatica è un elemento HTML. Si tratta infatti di un frame "ancorato" all'interno della pagina, equivale cioè ad un normale frame, ma con la differenza di essere un elemento (interno) della pagina, non esterno.
Google Maps permette di inserire in una pagina web una mappa fornendo il codice di incorporamento attraverso un iframe
L'iframe viene generalmente utilizzato per mostrare il contenuto di una pagina web, o di una qualsivoglia risorsa, all'interno di un riquadro in una seconda pagina principale

In buona sostanza un iframe è da interpretarsi come un telaietto delle vecchie diapositive, dove la parte in plastica esterno si può interpretare come il nostro sito web, mentre la parte di pellicola è da intendersi come il sito che dobbiamo caricare all'interno

Come detto, un esempio abbastanza classico è quello di Google Maps, dove noi possiamo incorporare una mappa all'interno di un sito, usando il codice di "incorpora".

Il motivo di tale rigidità nel bloccare questo tipo di sintassi sta nell'uso del Click-Jacking, pratica usata per rubare le credenziali.

iframe, però, può anche essere usata per gestire altre problematiche non sempre a scopo di frode.


Come gestirlo dentro il VirutalHost

Come detto, il problema non riguarda solo iframe, ma anche altri costrutti, che vengono chiamati collettivamente X-Frame-Options.

Questo gruppo ha due sintassi:

X-Frame-Options: DENY

X-Frame-Options: SAMEORIGIN

e va inserito, il primo o il secondo (non tutti e due) dentro l'area <Directory> del nostroVirtualHost sia esso classico su porta 80 (per intenderci senza il catenaccio) che porta 443 (quella col catenaccio)

    # Parametri da usare per accedere alla cartella
    <Directory "/domini/sito.tld/www">
       
        allow from all

        # consente di leggere il file .htaccess
        AllowOverride All
        Require all granted

# Consente di aprire dentro un sito con X-Frame-Option
Header always set X-Frame-Options "SAMEORIGIN"

    </Directory>
</VirtualHost>


La soluzione proposta, bypassa il problema rendendoci la vita un po' meno complicata

Ovviamente fatta la modifica al nostro VirtualHost, si deve riavviare Apache2, a secondo del tipo di Sistema Operativo in uso


Commenti

Post più popolari

Link al Web

Lista di Comandi Linux Mozilla FireFox / Thunderbird / FileZilla Portable FireFox Download localizzati FireFox Portable - Pagina download localizzati ThunterBird Portable - Pagina dei download localizzati FileZilla Portable Avast Avast Download Avast Registrazione Vecchie versioni Avast Attivazione della copia gratuita per 1 anno Adobe Reader Get Adobe Acrobat e Adobe Reader Cartella tutte le versioni Adobe Reader da scaricare offline Microsoft 365 Accedere ad area riservata Microsoft 365 Scarica Office (365 o versione unica) dal Sito Microsoft Windows 365 VideoLAN VLC Video Player Pagina di Download di VLC Pix Resizer for Windows Pagina dell'autore del programma WinRAR Preleva winrar Java Runtime & Development Kit (Java SDK) Java SE Downloads NetBeans Java Runtime Editio Download Pagine Facebook Rendere Amministratore di una pagina Convertitore Immagine 2 ASCII Art PICASCII Adobe Flash Pl

Mac OS X - Installare ed usare una stampante sul Print Server GetNet 3 Port 2 USB e 1 LPT

Abbiamo visto come installare il Print Server GetNet 3 in 1 sui più diffusi sistemi operativi Windows (vedi articoli correlati in fondo al post). La "scatoletta" ha anche un protocollo di comunicazione Apple Talk, quindi può essere collegata (fare da tramite) anche a stampanti che abbiano la gestione post script integrata (quasi tutte le stampanti salvo quelle del gruppo Ricoh che hanno bisogno di un apposito moduol installato) sul Mac. Print Server GetNet 1 Parallela e 2 USB Il metodo di installazione è molto simile a quello visto su Windows, con la differenza sostanziale che non è necessario scegliere tra moltissimi modelli, ma si gestisce in modo più semplice. Purtroppo sul Mac non è possibile (allo stato attuale) collegare print server di tipo TP-Link, ovvero replicatori di porta USB su Lan, in quanto non esiste un driver adatto. Detto questo, consideriamo la stampante che vogliamo collegare al Mac. Il caso che abbiamo usato nei precedenti post,

BlackBerry - Importare i dati da altri cellulari

English translated post Un amico mi porta un BlackBerry Pearl 8110 e mi chiede di trasferire i dati dal suo cellulare Nokia a questo telefono. Premesso che personalmente non ho mai reputato il BlackBerry un telefono "semplice", l'operazione si è reputata piuttosto complessa. Scartata l'idea di mandare i vcard via bluetooth (come si fa con quasi tutti i Nokia e Samsung), l'unica alternativa è quella di appoggiarsi a Microsoft Outlook !!! Come fare? 1 - Installare il Microsoft Outlook (XP o 2003) nel proprio PC 2 - Installare (nel caso specifico del Nokia) il programma Nokia PC Suite 3 - Sincronizzare solo la Rubrica (ovviamente dipende sempre se il cellulare Nokia è il Vostro o di un Vostro amico) del Nokia con l'Outlook, così che tutti i dati presenti nella Rubrica siano copiati nella sezione Contatti dell'Outlook 4 - Scaricare l'ultima versione del BlackBerry Desktop Manager (se il pacchetto è quello Vodafone, la versione sul CD non è molto efficac