2014-09-26 4 views
5

Come dice il titolo, mi chiedo come posso modificare il nome dei metatag di csrf-param e csrf-token?Come posso cambiare il nome dei metatag di 'csrf-param' e 'csrf-token' in Rails 4?

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

che sto chiedendo questo, perché per motivi di sicurezza voglio nascondere, che la tecnologia che sto usando per alimentare il mio sito web. Il plug-in Chrome Wappalyzer utilizza questo meta tag come indicatori per Ruby on Rails.

enter image description here

+1

Sembra che sia facile come una semplice patch di scimmia per cambiare i nomi. jquery_ujs potrebbe essere un altro problema comunque. Rails lo definisce in 'ActionView :: Helpers :: CsrfHelper' (https://github.com/rails/rails/blob/master/actionview/lib/action_view/helpers/csrf_helper.rb) –

+0

Grazie per la risposta. Devo cambiare la parte, dove Rails riceve il token CSRF? – Robin

risposta

1

Creare un inizializzatore chiamato change_csrf_name.rb

all'interno di questo file è possibile modificare il :name => 'xyz'. fai attenzione che potrebbe rompere alcune funzionalità incorporate che non ti aspettavi.

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

Grazie per la risposta. Ho bisogno di questo meta tag a volte per i miei JavaScript, che possono inviare il token CSRF al server su richieste AJAX. Fondamentalmente ho solo chiesto come rinominare l'attributo 'name' di questi meta tag. – Robin