ruby-on-rails iframe http-headers ruby-on-rails-4 x-frame-options

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?