web-dev-qa-db-fra.com

Remplacer les paramètres par défaut de l'en-tête HTTP (X-FRAME-OPTIONS)

Je travaille avec la version de développement de Laravel (4.1. *) Et il y a une nouvelle configuration par défaut que je ne veux pas: X-Frame-Options: SAMEORIGIN

Pour le moment je le désactive en supprimant une ligne dans Illuminate\Http\FrameGuard.php

Je cherche une meilleure solution. J'ai essayé dans le fichier filtre.php:

App::after(function($request, $response) {
   $response->header('X-Frame-Options', 'ALLOW-ALL');
});

Mais il ajoute simplement l'option (X-Frame-Options:ALLOW-ALL, SAMEORIGIN), alors que j'ai besoin d'un remplacement.

15
Fractaliste

Laravel ne fournit aucune configuration pour désactiver cette fonctionnalité.

Selon Taylor Otwell , la seule façon de le contourner est d'ajouter la ligne suivante dans le fichier de démarrage:

App::forgetMiddleware('Illuminate\Http\FrameGuard');

La sale solution est de commenter la ligne coupable :

$response->headers->set('X-Frame-Options', 'SAMEORIGIN', false);

Edit (29 janvier 2014) : nouvelles informations de Taylor Otwell sur GitHub sur la prochaine politique de Laravel.

Supprimer cela par défaut dans 4.2. Devrait être dans un filtre après - quittera la classe FrameGuard pour que les gens puissent ajouter le middleware manuellement s'ils le souhaitent.

24
Fractaliste

Le troisième paramètre de la méthode header devrait répondre à vos besoins.

5
peaceman