草庐IT

安全$数字安全$漏洞

全部标签

ruby - 自动加载在 Ruby 1.9 中是线程安全的吗?

在我看来,自从thisfamousthread以来,Ruby社区一直对自动加载感到恐惧。,出于线程安全原因,不鼓励使用它。有谁知道这在Ruby1.9.1或1.9.2中是否不再是一个问题?我已经看到一些关于在互斥体中包装要求等的讨论,但是1.9变更日志(或者至少是我能够找到的那么多)似乎没有解决这个特定问题。我想知道我是否可以合理地开始在1.9-only库中自动加载而不会有任何合理的悲伤。提前感谢您的任何见解。 最佳答案 因为我也对此感到好奇,所以在2011年对此进行了更新。目前打开了两张工单:http://redmine.ruby-

ruby-on-rails - 为什么对 params 哈希进行切片会对批量分配造成安全问题?

通过批量分配防止安全风险的官方方法是使用attr_accessible.然而,一些程序员认为这不是模型的工作(或者至少不是仅模型的工作)。在Controller中执行此操作的最简单方法是对params哈希进行切片:@user=User.update_attributes(params[:user].slice(:name))但是文档指出:NotethatusingHash#exceptorHash#sliceinplaceofattr_accessibletosanitizeattributeswon’tprovidesufficientprotection.这是为什么呢?为什么par

ruby - 如何在安全的沙箱中运行不受信任的 Ruby 代码?

我希望能够运行不受信任的ruby​​代码。我希望能够将变量传递给它可能使用的所述不受信任的代码。我还希望上述代码将结果返回给我。这是我在想什么的概念性例子input="sweet"output=nilThread.start{$SAFE=4#...untrustedcodegoeshere,itusestheinputvariable(s)#tocalculatesomeresultthatitplacesintheoutputvariable}#parsetheoutputvariableasastring.澄清一下,我基本上是将不受信任的代码用作函数。我想要提供它的一些输入,然后允

ruby-on-rails - 如何在 Ruby on Rails 中将数字强制为小数点后 10 位?

我的数据库中的纬度和经度值精确到小数点后10位:+----+---------------+-----------------+|id|lat|lng|+----+---------------+-----------------+|55|34.4208305000|-119.6981901000||56|30.2671530000|-97.7430608000|我需要查询数据库进行匹配,但我当前的变量是一个只有6位小数的float:self.lat=>30.267153如何将我的float转换为具有额外的小数位以便获得匹配项?myloc=Marker.where("lat=?",se

Ruby:如何增加一个可能为零的数字?

我如何在Ruby中简化它:x=(x||0)+1? 最佳答案 您可以使用to_i将nil转换为0x=x.to_i+1或者你可以使用succx=x.to_i.succ 关于Ruby:如何增加一个可能为零的数字?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7440954/

ruby - 使用 ruby 生成代表数字的字母?

我想生成一个字母序列,即与数字相对应的“A”、“DE”、“GJE”等。前26个非常简单,所以3个返回“C”,26个返回“Z”,27个返回“AA”,28个返回“AB”,依此类推。我不太清楚如何做到这一点,以便它可以处理传入的任何数字。因此,如果我传入4123,我应该取回3个字母的某种组合,因为(26*26*26)允许最多+17,000种组合。有什么建议吗? 最佳答案 classNumericAlph=("a".."z").to_adefalphs,q="",self(q,r=(q-1).divmod(26));s.prepend(Al

ruby-on-rails - 从 Fixnum 整数 Ruby on Rails 中获取每个单独的数字

这是一个真正的super新手问题。我在数据库中存储了一个年龄。当我从数据库中获取年龄时,我想获取每个单独的数字。例子:User.age=25我想得到以下信息:first=5second=2我似乎无法从数据中将其作为一个固定数字来解决。任何人都知道一个干净简单的解决方案。 最佳答案 您可以转换为字符串,然后拆分为数字,例如first,second=User.age.to_s.split('')=>["2","5"]如果您需要将单个数字作为Fixnums返回,您可以将它们映射回来,例如first,second=User.age.to_s

ruby-on-rails - 如何为 Puma 检查 Rails 应用程序的线程安全

我希望使用Puma网络服务器将我的Rails应用程序部署到Heroku。但是,我不太确定是否所有的Gem都是线程安全的。阅读所有Gems的源代码对我们来说不是可行的选择。有没有办法自动检查所有Gem的线程安全性?或者,如果执行/检测到线程不安全代码,Puma会提示/显示特定的错误日志吗? 最佳答案 一般检测不到线程安全。如果有某种方法可以自动检测到它,您的编译器/解释器可能会警告您。Raceconditions无法被自动系统检测到,它们甚至难以重现。取决于您的解释器:CRuby有GIL,所以使用Puma是没有意义的。如果您使用的是J

ruby - (Ruby) 是否有一个函数可以轻松找到字符串中的第一个数字?

例如,如果我输入“ds.35bdg56”,该函数将返回35。是否有类似的预制函数,或者我是否需要遍历字符串,找到第一个数字并查看它有多长去然后返回那个? 最佳答案 >>'ds.35bdg56'[/\d+/]=>"35"或者,既然你确实要求了一个功能......$irb>>deffx;x[/\d+/]end=>nil>>f'ds.35bdg56'=>"35"你真的可以从中获得一些乐趣:>>classString;deffirstNumber;self[/\d+/];end;end=>nil>>'ds.35bdg56'.firstNum

ruby-on-rails - 如何命名类名包含数字的 Rails ruby​​ 文件?

Rails类名可以包含数字吗?例如:classTest123end这是一个有效的类吗?当我尝试加载该类时出现uninitializedconstantTest123错误。 最佳答案 我认为ArtemKalinchuk的最后评论应该成为这个用词不当的问题的答案。Ruby类名可以包含数字。Rails类必须在正确命名的文件中定义。如果我定义一个名为NewYear2012Controller的类:正确的文件名:new_year2012_controller.rb文件名不正确:new_year_2012_controller.rb(注意多余的