草庐IT

safe-publication

全部标签

ruby-on-rails - Ruby on Rails 3 - 公共(public)实时聊天

我想使用Rails3创建一个公共(public)实时聊天应用程序。我在rails2上找到了一些例子。任何人都可以告诉你一个很好的例子/教程来使用rails3开发一个实时聊天应用程序。 最佳答案 当我试图在我的Rails3应用程序中实现一个公共(public)和私有(private)聊天系统时,我遇到了几个障碍。我查看了faye、juggernaut、node.js等。最终在尝试了几种方法之后,我能够实现一个运行良好的系统:1)我开始关注Railscast260中的faye消息传递视频指南。正如DevinM所提到的,我能够快速设置一个

ruby - 在字符串数组中查找公共(public)字符串( ruby )

假设我有一个包含3个字符串的数组:["Extratvinbedroom","Extratvinlivingroom","Extratvoutsidetheshop"]如何找到所有字符串共有的最长字符串? 最佳答案 这是一种ruby风格的实现方式。但是,如果您有一堆字符串或者它们很长,您应该使用更高级的算法:deflongest_common_substr(strings)shortest=strings.min_by&:lengthmaxlen=shortest.lengthmaxlen.downto(0)do|len|0.upto

ruby - 仅迭代公共(public) Ruby 常量

从Ruby2.0左右开始,可以使用private_constant将常量设为私有(private)。,如果直接在声明模块之外使用常量,则会导致错误。然而,constants和const_defined?仍然返回私有(private)常量,并且const_get允许访问它们。有没有办法以编程方式识别私有(private)常量并在运行时过滤掉它们?(注意:WhatdoesModule.private_constantdo?Isthereawaytolistonlyprivateconstants?及其答案并未专门针对这种情况,而是相反(如何仅列出私有(private)常量)。)更新:看起来

ruby - 为什么 block 不像方法那样继承调用者的 $SAFE 级别?

当$SAFE=4的线程调用方法时,该方法以相同的$SAFE级别运行:deftest_methodraise"valueof$SAFEinsidethemethod:#{$SAFE}"endt=Thread.new{$SAFE=4;self.test_method};t.join=>RuntimeError:valueof$SAFEinsidethemethod:4但是,当一个block被调用时,它似乎使用了来自其原始上下文的$SAFE:test_lambda=lambdadoraise"valueof$SAFEinsidethelambda:#{$SAFE}"endt=Thread.n

ruby - 在散列单行中加入公共(public)键

我有这个数组对:[{"a"=>"1"},{"b"=>"2"},{"a"=>"3"},{"b"=>"4"},{"a"=>"5"}]我想要一种方法来将具有多个值的公共(public)键合并到:[{"a"=>["1","3","5"]},{"b"=>["2","4"]}] 最佳答案 根据Marc-Andre的建议进行了改进。array=[{"a"=>"1"},{"b"=>"2"},{"a"=>"3"},{"b"=>"4"},{"a"=>"5"}]array.group_by(&:keys).map{|k,v|{k.first=>v.fla

ruby-on-rails - Ruby 中的 Object::private 和 Object::public 是什么?

这些方法是什么?覆盖它们有多糟糕?irb(main):001:0>Object::respond_to?('private',true)=>trueirb(main):002:0>Object::respond_to?('public',true)=>true当尝试为模型定义一个名为private或public的范围时,问题出现在Rails中。由于修复了错误https://rails.lighthouseapp.com/projects/8994/tickets/4167-activerecord-named_scope-using-columns-as-the-name-is-bug

ruby-on-rails - Ruby 2.3 safe navigation operator '&. and the ' 之间有什么区别试试!来自 ActiveSupport 的方法?

Ruby2.3的安全运算符&.和ActiveSupport的try!方法可以互换吗?如果不是,它们之间有什么区别? 最佳答案 一个关键的区别是try!是一个额外的方法调用,而&.不是。我能想到这造成的一个(公认的人为的)差异"1234"&.gsub(/\d/,"a")$&#=>"1234"这并不奇怪-我进行了正则表达式匹配,因此设置了正则表达式全局变量($&是匹配的字符串)。但是如果(在新的irbsession中——这很重要)我这样做"1234".try!(:gsub,/\d+/,"a")$&#=>nil然后正则表达式相关的全局变量

ruby-on-rails - 使用 S3 预签名 URL 上传一个文件,该文件将具有公共(public)读取权限

我正在使用RubyonRails和AWSgem。我可以获得用于上传和下载的预签名URL。但是当我得到URL时没有文件,因此将acl设置为“public-read”在下载url上不起作用。用例是这样的:1,服务器为用户提供了一个路径,用于将内容上传到我的存储桶,如果没有凭据则该存储桶不可读。2,并且该内容需要稍后公开:任何人都可以阅读。澄清一下:我没有上传文件,我提供了URL供我的用户上传。那时我也想给用户一个公众可读的URL。好像我自己上传文件会容易一些。此外,读取URL需要永不过期。 最佳答案 当您为PUT对象请求生成预签名URL

ruby - $SAFE >= 1 的 ruby​​ 中可能存在哪些漏洞?

Ruby'ssafemode不允许通过潜在危险的操作使用受污染的数据。它的级别各不相同,0表示禁用,然后1-4表示安全级别。启用安全模式时可能存在哪些漏洞?您知道在启用安全模式时发给ruby​​程序的任何CVE编号吗?什么CWEViolations(或cwe系列)是否可以启用安全模式? 最佳答案 所有应用程序级别的漏洞都完全不受$SAFE级别的影响。不通过“不安全操作”的注入(inject)攻击,例如跨站点脚本和SQL注入(inject)。这或多或少包括Web应用程序的每个漏洞类别,可能除了本地和远程文件包含。查看OWASPTop1

ruby - 如何在 ruby​​ on rails 应用程序中指定公共(public)目录的路径?

我想解析public文件夹中的.csv文件,我试过/../的,#{RAILS_ROOT}/public但没有成功(没有这样的文件或目录错误)。我不知道如何使用Rails.public_path(Rails.public_path/filename.csv不起作用)请帮助 最佳答案 您可以访问Rails.root路径,使用它来获取路径Rails.root.join("public","filename.csv")您可能需要调用to_s,具体取决于您希望如何使用结果(作为Path对象或作为字符串)。