2014-09-26 79 views
5

正如標題所述,我不知道如何改變meta標籤名稱csrf-paramcsrf-token如何在Rails 4中更改'csrf-param'和'csrf-token'的元標記名稱?

<meta content="authenticity_token" name="csrf-param" /> 
<meta content="123456" name="csrf-token" /> 

我問這個,因爲安全的原因,我想隱藏,我使用我的動力的網站,技術。 Chrome插件Wappalyzer使用此元標記作爲Ruby on Rails的指標。

enter image description here

+1

看起來它可能就像一個簡單的猴子補丁一樣容易改變名稱。然而jquery_ujs可能是另一個問題。 Rails在'ActionView :: Helpers :: CsrfHelper'中定義它(https://github.com/rails/rails/blob/master/actionview/lib/action_view/helpers/csrf_helper.rb) – 2014-09-26 20:41:59

+0

謝謝你的回答。我需要更改Rails接收CSRF令牌的部分嗎? – Robin 2014-09-29 05:08:22

回答

1

創建一個名爲change_csrf_name.rb

一個初始化這個文件中,您可以更改:name => 'xyz'。請注意,它可能會破壞您不期望的一些內置功能。

module ActionView 
    module Helpers 
    module CsrfHelper 
     def csrf_meta_tags 
     if protect_against_forgery? 
      [ 
      tag('meta', :name => 'csrf-param', :content => request_forgery_protection_token), 
      tag('meta', :name => 'csrf-token', :content => form_authenticity_token) 
      ].join("\n").html_safe 
     end 
     end 
    end 
    end 
end 
+0

謝謝你的回答。我需要這些元標記有時用於我的JavaScript,他們可以通過AJAX請求將CSRF令牌發送給serven。基本上我只是問如何重命名這些meta標籤的'name'屬性。 – Robin 2015-02-13 09:23:56

相關問題