9.1 Basic Authentication
基本认证
如果你想要在线发布你的blog,任何人都能够增加,编辑和删除articles,或者删除comments。
Rails提供了一个简易的HTTP验证系统,在这种情况下能足以胜任。
在ArticlesController里,我们需要用一个方式来阻止访问任意的actions,如果访问者没有被认证的,这儿我们可以用Rails http_basic_authenticate_with 方法,如果在那个方法允许的情况下, 来允许访问所需求的action。
为了使用这个认证系统,我们明确规定它位于ArticlesController的顶部,在这个例子中,我们需要用户对于每一个action都要被认证,除了index和show,因此我们来编辑这个文件 app/controllers/articles_controller.rb:
classArticlesController < ApplicationController
http_basic_authenticate_with name: "dhh", password: "secret", except: [:index, :show]
defindex @articles= Article.all end
# snipped for brevity |
我们同样地只允许认证的用户来删除comments,因此在CommentsController中来编辑文件 app/controllers/comments_controller.rb:
classCommentsController < ApplicationController
http_basic_authenticate_with name: "dhh", password: "secret", only: :destroy
defcreate @article= Article.find(params[:article_id]) ... end
# snipped for brevity |
现在你想要创建一个新的article,你将会受到一个基本HTTP认证的挑战
对于Rails应用程序,其他的认证方法也是可用的。在Rails中有两个比较流行的认证插件是 Devise rails engine 和 Authlogic gem, 以及还有一些其他的。
original text: http://guides.rubyonrails.org/getting_started.html#security
相关推荐
Security On Rails ebook
Pragmatic.Security.on.Rails.Dec.2009.rar
Devise Security-一个Devise扩展,可添加现代Web应用程序所需的其他安全功能 守望者-通用机架身份验证框架 AuthLogic-基于ActiveRecord的Ruby认证库 OmniAuth-一个标准化Web应用程序多提供商身份验证的库 JWT -RFC ...
支持的Rails版本本文档重点介绍Rails 4和5。不包括早期版本中存在并在Rails 4中修复的漏洞。目录生成的。清单注射注入攻击排名第一。 不要使用标准的Ruby插值( #{foo} )将用户输入的字符串插入ActiveRecord或原始...
Rails安全审核列表 0.安全宝 用于Ruby on Rails应用程序的静态分析安全漏洞扫描程序 -机架中间件,用于阻止和限制 与安全性相关的标头全部包含在一个gem中 用于ruby编写的Web应用程序的静态分析安全扫描程序。 带...
Rails Security Checklist:社区驱动的Rails安全检查表
How do I manage users and security? Is there an easy way to manage time zones or other internationalization issues? How does Rails expect me to organize a team of programmers and manage source ...
Rails安全清单 该清单仅限于Rails的安全预防措施,并且运行Rails应用程序的其他许多方面都需要保护(例如,最新的操作系统和其他软件),而这还没有涵盖。 咨询安全专家。 本文档的一个目标是将其转变为社区资源,...
安装将此行添加到您的Gemfile中,然后执行bundle install : gem 'sudo_rails'用法从现在开始,您可以在控制器中使用sudo方法,可以保护整个控制器或仅执行某些操作: class SettingsController < ...
密码箱for Ruby和Rails的文件加密支持Active Storage和CarrierWave默认情况下使用AES-GCM进行身份验证的加密使密钥旋转变得容易默认情况下,AES-GCM用于经过身份验证的加密使密钥的旋转变得容易。有关使用Rails安装...
ApplyingSecurity.................... 55 3.6 PunishingMiscreants.................. 56 3.7 RoadMap......................... 60 CONTENTS 8 4 TDD,RailsStyle 61 4.1 NowforaViewTest................... 61 ...
在rails支持下使用Ruby中的AWS Secrets Manager 安装 将此行添加到您的应用程序的Gemfile中: gem 'sekreto' 然后执行: $ bundle 或将其自己安装为: $ gem install sekreto 用法 组态 配置将在Rails环境中...
建立克隆仓库: git clone https://github.com/presidentbeef/inject-some-sql.git选择Rails 5,Rails 4或Rails3。它们每个都有自己的子目录。 cd inject-some-sql/rails5在子目录中,安装依赖项并设置数据库: ...
否则,如果您想使用Rails 3或4版本,则需要切换分支: $ cd railsgoat $ git checkout rails_3_2 $ git checkout rails_4_2 导航到目录(如果已执行上一步,则已经在目录中)并安装依赖项: $ bundle install ...
Rails doubletap漏洞 使用路径遍历(CVE-2019-5418)和Ruby对象反序列化的RCE on Rails 5.2.2(CVE-2019-5420) ... /rubyonrails-security/pFRKI96Sm8Q CVE-2019-5420- //groups.google.com/forum/#!searchin/ru
https://solidus.io/阅读我们的社区准则:https://solidus.io/community-guidelines/阅读我们的指南:https://guides.solidus.io/developers/加入我们的Slack:http ://slack.solidus.io/ Solidus Security:...
Rails 实现,该网站使用 Twilio Authy 两因素身份验证来保护文件夹中的所有资产。 此外,它还显示了 Twilio 验证电话验证实现。 它使用四个渠道进行交付,即短信、语音、软令牌和推送通知。 您应该安装 以尝试软令牌...
Ruby on Rails的行级安全性行级安全性(RLS)是PostgreSQL一项功能(请参阅和 ),它允许您定义规则以检查SELECT,INSERT,UPDATE或DELETE是否正在访问或创建合法行。 在多用户应用程序中隔离数据时,RLS为您的应用...
Ruby应用程序的Security.txt工具箱 该gem提供了Rack中间件和匹配的Rails引擎,该引擎将为您的应用程序提供格式良好的 。 它还包括security.txt文件的生成器和解析器。 参考: 安装 将此行添加到您的应用程序的...
The code in this book works with Ruby 2.3.1 and Rails 5, though nearly all of the code will run with earlier versions of Ruby and Rails. Table of Contents Chapter 1. Not Taking Payments on the Web ...