草庐IT

安全开发

全部标签

ruby-on-rails - 将用户生成的文本安全地存储在数据库中 (Ruby/Rails)

我正在尝试找到一种方法将用户生成的文本安全地存储在数据库中(这样只有用户才能访问他/她存储的文本)。我可以让Rails使用用户密码作为key来加密和解密用户的文本条目,但是如果用户忘记了他们的密码,就没有办法解密他们以前的内容/文本(因为Rails应用程序使用BCrypt来仅存储密码的哈希值)。有人知道怎么做吗?看起来Dropbox做了类似的事情:“存储在Dropbox服务器上的所有文件都经过加密(AES-256),没有您的帐户密码就无法访问。”(http://www.dropbox.com/help/27)然而,它们允许您重置密码,我假设它们不会在任何地方存储您的纯文本密码。我错过了

ruby - Capistrano 3.0 — 现在如何安全地提示输入密码?

在3.0之前有一种方法可以做到这一点:#...set:mysql_password,proc{Capistrano::CLI.password_prompt"Gimmeremotedatabaseserverpassword.Don'tworry,Iwon'ttellanyone:"}#...namespace:dbdodesc'Dumpremotedatabase'task:dumpdorun"mysqldump-u#{mysql_user}-p#{mysql_database}>~/#{mysql_database}.sql"do|channel,stream,data|ifdat

ruby-on-rails - 如何获取异常以呈现 Rails 开发错误页面的纯文本版本?

我正在使用rails-api构建一个没有网络界面的API。当我在开发中遇到错误时,我希望只看到纯文本的错误消息和堆栈跟踪,而无需所有HTML包装。我如何覆盖全局异常处理,以便它在开发模式下以纯文本/JSON呈现堆栈跟踪,并在生产环境中呈现一般错误消息? 最佳答案 从安全的角度来看,我建议在生产代码中包含堆栈跟踪可能不是一个好主意。下面是我的做法:render:json=>{message:exception.message,stack_trace:exception.stacktrace}希望对您有所帮助。在Sam的澄清之后我可以添

ruby-on-rails - 如果我有 IDEA,我需要 ruby​​mine 来开发 ruby​​ 还是两者兼而有之?

IDEA是否支持ruby​​mine的所有功能,或者ruby​​mine是否更适合rails而IDEA不具备ruby​​mine的所有功能? 最佳答案 Ruby插件确实包括RubyMine的所有功能,尽管最新版本的Ruby插件通常需要IntelliJIDEA的EAP构建。(目前,IntelliJIDEA9.0.3的Ruby插件版本不包含RubyMine2.5的所有新功能-只有IntelliJIDEAXEAP的插件版本包含。)RubyMine还有一个简化的项目配置UI,更适合Rails项目。

ruby-on-rails - 如何部署线程安全的异步 Rails 应用程序?

我在网络上阅读了大量关于不同版本的ruby​​和rails的线程安全和性能的资料,我想我现在已经很好地理解了这些内容。讨论中似乎奇怪地遗漏了如何实际部署异步Rails应用程序。当谈到应用程序中的线程和同步性时,人们希望优化两件事:以最少的RAM使用率利用所有CPU内核能够在之前的请求等待IO时处理新请求第1点是人们(正确地)对JRuby感到兴奋的地方。对于这个问题,我只是想优化第2点。假设这是我应用中唯一的Controller:classTheController"hello"enddefslowrender:text=>User.count.to_sendendfast没有IO,每秒

Android Studio开发之使用内容组件Content获取通讯信息讲解及实战(附源码 包括添加手机联系人和发短信)

运行有问题或需要源码请点赞关注收藏后评论区留言一、利用ContentResolver读写联系人在实际开发中,普通App很少会开放数据接口给其他应用访问。内容组件能够派上用场的情况往往是App想要访问系统应用的通讯数据,比如查看联系人,短信,通话记录等等,以及对这些通讯数据及逆行增删改查。首先要给AndroidMaifest.xml中添加响应的权限配置 下面是往手机通讯录添加联系人信息的例子效果如下分成三个步骤先查出联系人的基本信息,然后查询联系人号码,再查询联系人邮箱代码 ContactAddActivity类packagecom.example.chapter07;importandroid

STM32 OTA应用开发——通过USB实现OTA升级

STM32OTA应用开发——通过USB实现OTA升级目录STM32OTA应用开发——通过USB实现OTA升级前言1环境搭建2功能描述3BootLoader的制作4APP的制作5烧录下载配置6运行测试结束语前言什么是OTA?百度百科:空中下载技术(Over-the-AirTechnology;OTA),是通过移动通信的空中接口实现对移动终端设备及SIM卡数据进行远程管理的技术。经过公网多年的应用与发展,已十分成熟,网络运营商通过OTA技术实现SIM卡远程管理,还能提供移动化的新业务下载功能。实际上,现在我们所说的OTA比百度百科的定义还要更广泛,OTA的形式已经不再局限于手机和SIM卡,只要涉及

ruby-on-rails - 绕过辅助开发 gem 的 bundler

在我的Rails项目的Gemfile中,我开始有辅助gem,例如“ruby-debug19”、“perftools.rb”或“irbtools”。所有这些实际上与项目无关,而是我本地开发设置的一部分。但是因为我使用的是bundler,所以我无法加载这些gems(即使它们是在系统范围内安装的),除非我将它们添加到Gemfile中。在我看来,这有点代码味道。例如,我希望能够在railsconsole中require'irbtools'而无需将“irbtools”添加到我的Gemfile。有没有办法将辅助gem排除在Gemfile之外,并且仍然能够在我需要它们时加载它们以进行调试、分析等?

ruby - 使用适用于 Ruby 的 AWS 开发工具包发布到 SNS 主题时指定区域

我正在使用适用于Ruby的AWS开发工具包向Rails3应用程序发布消息和AWSSNS主题,如下所示:sns=AWS::SNS.newtopic=sns.topics['arn:aws:sns:eu-west-1:55555555555:my_topic']topic.publish("MESSAGE",:subject=>"SUBJECT")当我发布到“us-east-1”中的主题时,它按预期工作,但发布到“eu-west-1”区域中的主题时不起作用:AWS::SNS::Errors::InvalidParameter-Invalidparameter:TopicArn:使用AWSS

ruby-on-rails - ActiveSupport::SecureRandom 如何安全?

ActiveSupport::SecureRandom是否安全,因为它“不可能”计算出随机数,或者它返回UUID的方式是否安全? 最佳答案 随机数(及其应用)的安全性来自于它对于加密目的的随机性。随机性的质量在很大程度上取决于系统可以提供的熵,例如通过Linux上的/dev/urandom接口(interface)。为了安全起见,给定先前生成的随机数的某个序列,攻击者不能猜测下一个随机数。您可以使用ActiveRecord::SecureRandom作为创建UUID的实现的一部分(版本4)但它们没有直接关系