1

$ cd rails_projects $ rails new first_app

我在下面的输出底部遇到了这个冲突:conflict config/initializers/secret_token.rb

       exist  
   identical  README.rdoc
   identical  Rakefile
   identical  config.ru
   identical  .gitignore
   identical  Gemfile
       exist  app
   identical  app/assets/images/rails.png
   identical  app/assets/javascripts/application.js
   identical  app/assets/stylesheets/application.css
   identical  app/controllers/application_controller.rb
   identical  app/helpers/application_helper.rb
       exist  app/mailers
       exist  app/models
   identical  app/views/layouts/application.html.erb
   identical  app/mailers/.gitkeep
   identical  app/models/.gitkeep
       exist  config
   identical  config/routes.rb
   identical  config/application.rb
   identical  config/environment.rb
       exist  config/environments
   identical  config/environments/development.rb
   identical  config/environments/production.rb
   identical  config/environments/test.rb
       exist  config/initializers
   identical  config/initializers/backtrace_silencers.rb
   identical  config/initializers/inflections.rb
   identical  config/initializers/mime_types.rb
    conflict  config/initializers/secret_token.rb
Overwrite /Users/XXXXXX/rails_projects/first_app/config/initializers/secret_token.rb? (enter "h" for help) [Ynaqdh] 

做什么 config/initializers/secret_token.rb?我之前运行过它并覆盖了代码并安装了捆绑包,但想知道是否有意想不到的后果。谢谢!

4

1 回答 1

0

Ruby 中基于 Cookie 的会话使用秘密令牌来保证 cookie 是使用秘密字符串创建的,并且不能轻易地重新创建。

更改秘密令牌不会影响任何事情,除非您在用户登录时在生产中更改它,这将导致他们被注销,因为他们不会被识别为具有与您的令牌匹配的有效 cookie。

如果你想生成一个新的秘密令牌,你可以简单地运行:

rake secret

(或者,如果您愿意,您可以自己生成一个长字符串)

让这个文件远离任何开源存储库是很重要的,因为通过访问它,人们可能会劫持 Rails 网站上的会话。

有关它的更多信息提醒:secret_token.rb 如此命名是有原因的。

高温高压

更新

此外,如果您想了解更多信息,这里有一篇关于它的优秀文档文章

于 2012-10-31T16:12:24.720 回答