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.
我参加了 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.