ruby on rails - Cómo anular X-Frame-Options para un controlador o acción en Rails 4
ruby-on-rails iframe (1)
Si desea eliminar completamente el encabezado, puede crear un filtro after_action
:
class FilesController < ApplicationController
after_action :allow_iframe, only: :embed
def embed
end
private
def allow_iframe
response.headers.except! ''X-Frame-Options''
end
end
O, por supuesto, puede codificar el after_action
para establecer el valor a algo diferente:
class FacebookController < ApplicationController
after_action :allow_facebook_iframe
private
def allow_facebook_iframe
response.headers[''X-Frame-Options''] = ''ALLOW-FROM https://apps.facebook.com''
end
end
Tenga en cuenta que debe borrar su caché en ciertos navegadores (Chrome para mí) al depurar esto.
Rails 4 parece establecer un valor predeterminado de SAMEORIGIN
para el encabezado de respuesta HTTP de X-Frame-Options
. Esto es excelente para la seguridad, pero no permite que partes de su aplicación estén disponibles en un iframe
en un dominio diferente.
Puede anular el valor de X-Frame-Options
globalmente utilizando la configuración config.action_dispatch.default_headers
:
config.action_dispatch.default_headers[''X-Frame-Options''] = "ALLOW-FROM https://apps.facebook.com"
Pero, ¿cómo lo anulas para un solo controlador o acción?