跳至内容 跳至搜索

Action View CSRF 助手

方法
C

实例公共方法

csrf_meta_tag()

为了向后兼容。

csrf_meta_tags()

返回元标签“csrf-param”和“csrf-token”,分别包含跨站点请求伪造保护参数的名称和令牌。

<head>
  <%= csrf_meta_tags %>
</head>

这些用于生成使用:method实现非远程链接的动态表单。

对于常规表单,您不需要使用这些标签,因为它们会生成自己的隐藏字段。

对于除了 GET 以外的 Ajax 请求,从元标签中提取“csrf-token”并作为X-CSRF-Token HTTP 标头发送。

# File actionview/lib/action_view/helpers/csrf_helper.rb, line 22
def csrf_meta_tags
  if defined?(protect_against_forgery?) && 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