Laravel 4: problema con l’uso di iframe

Nell’articolo di oggi vediamo come evitare che frameGuard di Laravel 4 blocchi l’erogazione delle vostre pagine su altri siti tramite iframe.

Panoramica del problema

Di recente ho sviluppato un applicativo web-based dove avevo la necessità di “erogare” una determinata pagina (collegata ad un specifico cliente registrato) su un network di siti tramite iframe. Con mia (amara) sorpresa ho notato che laravel, alla richiesta dell’iframe restituiva il classico messaggio di errore:

Refused to display 'http://tuosito/view/285as47' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.

Questo tipo di errore, è atto a prevenire l’embed della pagina tramite iframe, ed è usato attualmente da quasi tutti i major site in circolazione come Google, etc . Se provate ad inserire in una pagina un iframe contente Google o Youtube ad esempio sarete vittima dello stesso problema.

In verità nel 90% dei casi non si tratta di un vero problema dato che ci mette al riparo da sovraccarichi del server dovuti a malintenzionati che “prelevano” le nostre pagine, o parti di esse, tramite iframe. Nel mio caso specifico però lo era dato che l’applicativo che avevo sviluppato doveva erogare determinate pagine su altri siti network collegati di vari clienti.

Risoluzione

Ricercando su internet ho notato come laravel utilizzi frameGuard per “bloccare” le richieste provenienti da origini differenti. Per inibire l’utilizzo di frameGuard apriamo il file di boot chiamato start.php e aggiungiamo la seguente riga di codice prima  di return $app:

File: bootstrap/start.php

//Rendi disponibile iframe
App::forgetMiddleware('Illuminate\Http\FrameGuard');

A questo punto salvate e la vostra applicazione/sito in laravel riuscirà ad erogare le vostre pagine anche tramite iframe su siti di origine differente.

Questo articolo ti è stato utile? guarda la nostra selezione di guide laravel 4 oppure lascia un commento qui sotto con suggerimenti o informazioni utili!

0 0 voti
Valutazione dell'articolo
Iscriviti
Notificami
guest

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

0 Commenti
Vecchi
Più recenti Le più votate
Feedback in linea
Visualizza tutti i commenti
Rimani Aggiornato
Nuove idee, zero Spam
Ti invieremo solo le ultime novità di articoli o nostri progetti.
Iscrivendoti accetti la nostra privacy poliicy. Una volta iscritto, ricordati di attivare l'iscrizione cliccando sul link ricevuto via mail.
0
Esprimete la vostra opinione commentando.x