草庐IT

安全验证

全部标签

ruby - 如何使用 net/http 在 ruby​​ 中验证 SSL 证书链

如何验证https://processing.ukash.com/等网站的证书在ruby​​和net/http中?https=Net::HTTP.new('processing.ukash.com',443)https.use_ssl=truehttps.verify_mode=OpenSSL::SSL::VERIFY_NONE目前有效,但我现在如何验证它是正确的证书?我从firefox中保存了证书,但是生成的.pem文件中有很多证书,net/http似乎不喜欢它。 最佳答案 来self的代码片段集合:#!/usr/bin/envr

ruby-on-rails - Rails 表单验证条件绕过

我有一个Rails模型可以验证2个表单值的唯一性。如果这2个值不是唯一的,则会显示验证错误,并且“提交”按钮将更改为“重新提交”。我想允许用户单击“重新提交”按钮并绕过模型验证。我想从Rails验证文档中执行类似的操作:validates_uniqueness_of:value,:unless=>Proc.new{|user|user.signup_step但我的模型中没有可以检查的值...只有具有“重新提交”值的参数。关于如何做到这一点有什么想法吗? 最佳答案 在我看来这是最好的方法:classFooBar:force_submi

ruby - 使用 Hash#dig 或 Lonely operator(&.) 安全地为嵌套哈希赋值

h={data:{user:{value:"JohnDoe"}}}要为嵌套哈希赋值,我们可以使用h[:data][:user][:value]="Bob"但是如果中间的任何部分缺失,就会导致错误。有点像h.dig(:data,:user,:value)="Bob"不会工作,因为还没有可用的Hash#dig=。要安全地赋值,我们可以做h.dig(:data,:user)&.[]=(:value,"Bob")#orequivalentlyh.dig(:data,:user)&.store(:value,"Bob")但是有更好的方法吗? 最佳答案

ruby - Regexp.last_match 线程安全吗?

这是我正在查看的代码:defmethod_missing(id,*args)returnself.find(Regexp.last_match(1),args[0])ifid.id2name=~/find_by_(.+)/raiseNoMethodErrorend如果我有多个线程调用Regexp.last_match会怎样?如果我有多个线程使用method_missing方法调用对象会怎样? 最佳答案 Ruby1.9.2平台文档声明调用Regexp.last_match等同于读取特殊的$~全局变量。摘自“TheRubyProgram

ruby - 在 Ruby 中将 [] 与安全导航运算符一起使用

我目前有一段代码如下:ifmatch=request.path.match(/\A\/(?(?!admin|assets)\w+)/)match[:slug]end有没有办法使用安全导航运算符(在2.3.0中引入)来避免这种if条件? 最佳答案 只需使用普通(无糖)形式即可。request.path.match(/\A\/(?(?!admin|assets)\w+)/)&.[](:slug) 关于ruby-在Ruby中将[]与安全导航运算符一起使用,我们在StackOverflow上找到

ruby - RVM 拒绝安装 - curl SSL 证书验证失败

我正在处理一个相对干净的OSX安装。我有Xcode,但删除了它。当我输入rvminstall1.9.3时,我得到:max-macbook:~max$rvminstall1.9.3Fetchingyaml-0.1.4.tar.gzto/Users/max/.rvm/archives%Total%Received%XferdAverageSpeedTimeTimeTimeCurrentDloadUploadTotalSpentLeftSpeed00000000--:--:----:--:----:--:--0curl:(60)SSLcertificateproblem,verifythat

ruby-on-rails - 如何在 Rails 3 中验证非模型表单?

假设我有一个搜索表单,我想验证关键字的长度。我希望表格突出显示无效字段(如模型表格)。我四处寻找,似乎找不到任何关于在Rails3中验证非模型支持表单的有用信息。我已经尝试过validatablegem,但这似乎不起作用使用Rails3:undefinedmethod`model_name'forLogin:Class.有什么想法吗? 最佳答案 使用Rails3,您可以使用一些扩展“普通的旧Ruby对象”ActiveModel扩展,如验证等。ActiveRecord是具有数据库支持的ActiveModel的扩展。这是一个非常好的Ra

ruby-on-rails - Ruby/Rails 线程安全

我时常研究Ruby,但我没有用它做过任何大的或多线程的事情。我听说MRI只支持绿色线程,而JRuby通过JVM支持native线程。然而,我偶然发现博客和讨论组上的评论说“Rails不是线程安全的”或者Ruby本身不是线程安全的。例如有人评论说require语句有问题。这听起来有点基础。我见过很多不能正确处理并发的Java应用程序,我时不时地做噩梦:-)但至少你可以用Java编写线程安全的应用程序如果您真的知道自己在做什么(这并不容易)。这一切听起来很令人震惊,有人可以详细说明一下吗?到底是什么问题,如果是这种情况,Rails是如何设法工作的?我可以编写在没有竞争条件和死锁的情况下正常

ruby-on-rails - 如何验证属于与 Rails 关联的存在?

假设我有一个基本的Rails应用程序,它具有基本的一对多关系,其中每条评论都属于一篇文章:$railsblog$cdblog$script/generatemodelarticlename:string$script/generatemodelcommentarticle:belongs_tobody:text现在我添加代码来创建关联,但我还想确保在创建评论时,它总是有一篇文章:classArticle现在假设我想同时创建一篇带有评论的文章:$rakedb:migrate$script/console如果你这样做:>>article=Article.new=>#>>article.co

ruby - 如何在 Ruby 中通过 HTTPs 进行基本身份验证?

看了很多之后,我发现了一些似乎有效但不适合我的解决方案...例如,我有这个脚本:require'net/http'require"net/https"@http=Net::HTTP.new('www.xxxxxxx.net',443)@http.use_ssl=true@http.verify_mode=OpenSSL::SSL::VERIFY_NONE@http.start(){|http|req=Net::HTTP::Get.new('/gb/PastSetupsXLS.asp?SR=31,6')req.basic_auth'my_user','my_password'respon