如何解决在iframe中投放时,Rails应用返回422响应无法验证CSRF令牌的真实性
我在特定平台上的iFrame中服务特定的Rails应用程序(以嵌入网络游戏)。在某些情况/浏览器中,但不是全部,由于CSRF出现问题,无法提交表单。
我发现可以通过设置p3p标头来解决此问题,因此我在application_controller.rb
中执行了以下操作,但没有结果:
before_action :set_p3p
private
def set_p3p
headers['P3P'] = 'CP="ALL DSP COR CURa ADMa DEVa OUR IND COM NAV"'
end
日志中显示的错误:
W,[2020-09-02T10:28:03.574095 #21884] WARN -- : [a12fc8c6-8d21-450e-9555-4673e8317662] Can't verify CSRF token authenticity.
I,[2020-09-02T10:28:03.575387 #21884] INFO -- : [a12fc8c6-8d21-450e-9555-4673e8317662] Completed 422 Unprocessable Entity in 2ms (ActiveRecord: 0.0ms | Allocations: 888)
F,[2020-09-02T10:28:03.576961 #21884] FATAL -- : [a12fc8c6-8d21-450e-9555-4673e8317662]
[a12fc8c6-8d21-450e-9555-4673e8317662] ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken):
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。