rails 6令牌认证还需要吗?

rails 6 token authentication still needed?

我参加了 rails 5.x.x 的课程,当他们使用表单时,他们在表单的开头添加了一行用于令牌身份验证以保护他们的站点,如下所示:

<input type="hidden" name="authenticity_token" value="<%= form_authenticity_token %>">

但是要使用 rails 的最新版本,我使用的是 6.1.3 版本,我在网上没有看到任何相关信息。 所以问题是:我还需要在任何地方设置这个真实性令牌吗?如果是,在哪里?如果没有,为什么?如果您有关于 rails 6 的一些链接,我不会拒绝。谢谢你。

不,您不需要手动添加,Rails 会在每个表单中为您完成。

<%= form_with do |form| %>
  Form contents
<% end %>

生成

<form accept-charset="UTF-8" action="/" method="post">
  <input name="authenticity_token" type="hidden" value="J7CBxfHalt49OSHp27hblqK20c9PgwJ108nDHX/8Cts=" />
  Form contents
</form>

You'll notice that the HTML contains an input element with type hidden. This input is important, because non-GET forms cannot be successfully submitted without it. The hidden input element with the name authenticity_token is a security feature of Rails called cross-site request forgery protection, and form helpers generate it for every non-GET form (provided that this security feature is enabled). You can read more about this in the Securing Rails Applications guide.

https://guides.rubyonrails.org/form_helpers.html