Zen Rails安全清单 概要 本文档提供了开发Ruby on Rails应用程序时要实施的安全措施的不一定全面的列表。 它旨在用作快速参考,并最大程度地减少开发人员健忘造成的漏洞。 它并不能替代开发人员有关安全编码原则以及如何应用它们的培训。 描述每个安全漏洞的工作方式不在本文档的范围之内。 在清单的相应部分中提供了指向包含更多信息的外部资源的链接。 请仅应用您完全理解的建议。 请记住,安全是一个不断发展的目标。 每天都会发现新的漏洞和攻击媒介。 例如,我们建议您订阅与您使用的软件和库相关的安全邮件列表,以尝试保持最新状态。 该清单旨在成为社区驱动的资源。 欢迎您的! 免责声明:本文档未涵盖所有可能的安全漏洞。 作者对本文信息的准确性或完整性不承担任何法律责任。 支持的Rails版本 本文档重点介绍Rails 4和5。不包括早期版本中存在并在Rails 4中修复的漏洞。 目录 生成的。 清单 注射 注入攻击排名第一。 不要使用标准的Ruby插值( #{foo} )将用户输入的字符串插入ActiveRecord或原始SQL查询中。 使用? 字符,命名的绑定变量或来清理数据库
2021-02-01 19:07:50 17KB ruby rails checklist security
1
ActiveRecord哪里Assoc 使用此gem可以轻松地根据ActiveRecord(Rails)中记录的关联来进行条件。 (使用SQL的EXISTS运算符) # Find my_post's comments that were not made by an admin my_post . comments . where_assoc_not_exists ( :author , is_admin : true ) . where ( ... ) # Find every posts that have comments by an admin Post . where_assoc_exists ( [ :comments , :author ] , & :admins ) . where ( ... ) # Find my_user's posts that have at least 5 non-spam comments (not_spam is a scope on comments) my_user . posts . where_assoc_count ( 5
2021-01-30 23:04:34 425KB ruby rails activerecord sql
1
外交官 用于HTTP Ruby API 常问问题 外交官干什么? Diplomat允许任何ruby应用程序与分布式键值存储进行交互,并且还可以接收有关Consul群集中当前可用服务的信息。 它可以在轨道上工作吗? 对! 实际上,我们在所有的Rails生产应用程序中都使用了它,而不是以前的任何情况(根据正确使用环境变量)。 这使我们能够在不更改实际项目代码库的情况下进行扩展,并轻松地在集群中移动应用程序。 这是生产数据库.yml文件的外观: <% if Rails.env.production? %> production: adapter: po
2021-01-28 16:07:51 87KB ruby rails api distributed-systems
1