Переопределить настройки заголовка HTTP-заголовка (X-FRAME-OPTIONS)

Я работаю с dev-версией Laravel (4.1. *), и мне не нужна новая конфигурация по умолчанию: X-Frame-Options: SAMEORIGIN

На данный момент я отключу его удалив одну строку в Illuminate\Http\FrameGuard.php

Я ищу лучшее решение. Я попытался в файле filtre.php:

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

Но он просто добавляет параметр (X-Frame-Options:ALLOW-ALL, SAMEORIGIN), тогда как мне нужно переопределить.

Ответы

Ответ 1

Laravel не предоставляет никаких настроек для отключения этой функции.

Согласно Taylor Otwell, единственный способ обойти это - добавить следующую строку в стартовый файл:

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

Грязное решение состоит в том, чтобы прокомментировать виновную строку:

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

Изменить (29 января 2014 года): новая информация от Тейлора Отуэлла о GitHub о следующей политике Laravel.

Удаление этого по умолчанию в 4.2. Должен быть включен в фильтр after - оставит класс FrameGuard, чтобы люди могли добавить промежуточное ПО вручную, если они захотят.

Ответ 2

Третий параметр метода header должен отвечать вашим потребностям.