ruby-on-rails - rails : How Does csrf_meta_tag Work?

标签 ruby-on-rails csrf

我是一名 PHP 开发人员,通过阅读 Michael Hartl's tutorial 来学习 Ruby on Rails 。以下是书中的一段引用,引用csrf_meta_tag:

...the Rails method csrf_meta_tag [prevents] cross-site request forgery (CSRF), a type of malicious web attack. Don’t worry about the details (I don’t); just know that Rails is working hard to keep your application secure.

问题是,我真的很好奇。插入 csrf-paramcsrf-token 元标记如何防止 CSRF?我尝试用谷歌搜索,但找不到任何东西。

最佳答案

csrf_meta_tag 基本上实现了与隐藏表单字段相同的功能,但它可以为未绑定(bind)到表单的 JavaScript 请求提供一种获取 token 的简单方法。

如果您使用 jquery-ujs库中该元标记的内容会自动添加(作为请求 header )到发出的任何 ajax 请求中。

关于ruby-on-rails - rails : How Does csrf_meta_tag Work?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9996665/

相关文章:

ruby-on-rails - Rails - 如何在不使用 Accepts_nested_attributes_for 的情况下管理嵌套属性?

ruby-on-rails - 在语义/循环/形式中访问对象

ruby-on-rails - Rails,测试邮件地址

authentication - 远程图像嵌入 : how to handle ones that require authentication?

ruby-on-rails - 如何使用 Rspec 在 Rails 中测试模型默认值

javascript - rails - 警告 : Can't verify CSRF token authenticity

Django - CSRF token 生成 - render_to_response 与渲染

javascript - Django ajax 403 因为 httponly cookie

python - 如何为要发送 POST 请求的 iPhone 和 Android 应用程序生成 Django CSRF key ?

ruby-on-rails - Ruby on Rails 和内容类型为 : text/plain 的 POST