簡體   English   中英

如何避免ActionController :: InvalidCrossOriginRequest異常?

[英]How to avoid ActionController::InvalidCrossOriginRequest exception?

我將我的rails應用程序更新到Rails 4.1並開始獲取ActionController :: InvalidCrossOriginRequest異常。 我發現bing bots主動抓取我動態生成的javascript文件。

我認為rails引發此異常是正確的,因為javascript是直接調用的,但是我的日志充滿了這個異常。

有沒有辦法避免機器人在不關閉csrf保護的情況下引發此異常?

我的控制器看起來像這樣。

class ListsController < ApplicationController
  before_filter :authenticate_user!

  def add
    @list = List.find(params[:id])
    respond_to do |format|
      format.js { render 'add' }
      format.html { redirect_to list_path(@list) }
    end
  end

end

要添加JH的答案,並假設您需要一些CORS幫助,您應該知道每個主機都使用CORS策略來確定誰可以(並且不能)直接訪問他們的服務器

您的錯誤基本上是因為您的服務器的CORS策略仍然默認為“拒絕”每個直接的XHR訪問。 解決這個問題的方法是確定服務器上可用於外部資源的端點

發生這種情況的最佳方法是使用rack-cors寶石 ,如JH推薦:)

你可能想嘗試類似Rack-Cors的東西: https//github.com/cyu/rack-cors

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM