gpt4 book ai didi

ruby-on-rails - Rails InvalidCrossOriginRequest

转载 作者:行者123 更新时间:2023-12-03 23:26:13 25 4
gpt4 key购买 nike

我有一个 remote: true我的 Rails 应用程序中调用 .js 的页面上的链接同一页面的版本,然后运行脚本来更新页面内容。

它工作正常,但从昨天开始我现在得到 Security warning: an embedded <script> tag on another site requested protected JavaScript. If you know what you're doing, go ahead and disable forgery protection on this action to permit cross-origin JavaScript embedding.每次我点击这些链接之一。

关于如何阻止这种情况的任何想法?

最佳答案

将此添加到呈现页面片段的 Controller

class FooController < ApplicationController
protect_from_forgery except: :index
在哪里 index是您要跳过此保护的操作的名称

跨域政策
你得到的错误是因为所谓的跨域策略。这是每个浏览器中都存在的标准,不允许页面运行来自其他域的脚本。解决这个问题的方法是在 http 请求中添加一个 header ,允许您的内容在其他域中运行。
维基百科对此有解释:

The second technique for relaxing the same-origin policy isstandardized under the name Cross-Origin Resource Sharing. Thisstandard extends HTTP with a new Origin request header and a newAccess-Control-Allow-Origin response header. It allows servers to usea header to explicitly list origins that may request a file or to usea wildcard and allow a file to be requested by any site. Browsers suchas Firefox 3.5, Safari 4 and Internet Explorer 10 use this header toallow the cross-origin HTTP requests with XMLHttpRequest that wouldotherwise have been forbidden by the same-origin policy.


http://en.wikipedia.org/wiki/Same-origin_policy

关于ruby-on-rails - Rails InvalidCrossOriginRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29310187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com