草庐IT

安全局

全部标签

ruby - Ruby 的 stdlib Logger 类能否安全地处理来自多个进程的编写器?

我正在开发一个需要进行日志记录的Ruby库。理想情况下,我希望多个工作进程能够登录同一个文件。查看来自Ruby标准库的Logger类的源代码,我看到努力从多个线程同步写入日志(正如对IsRuby'sstdlibLoggerclassthread-safe?的回答中所指出的)。当多个进程写入同一个日志文件时,似乎存在类似的问题:根据底层决定缓冲/拆分写入的方式,每个日志消息可能无法保持其完整性。那么,有没有一种方法可以使用标准的Logger类来允许多个进程安全地记录到一个文件中?如果不是,这在Ruby项目中通常是如何完成的?这就是我所说的“安全”的意思:每个日志行都是“原子的”——在下一

ruby-on-rails - 为什么不使用全局(美元符号 $)变量?

我已经在Rails上研究了一年半,我非常喜欢它!:)在Rails中,我们大量使用局部变量、实例变量(如@user_name)和初始化器中定义的常量(如FILES_UPLOAD_PATH)。但为什么没有人使用像$dynamic_cluster_name这样的全局“美元化”变量($)?是因为设计缺陷吗?与性能有关吗?安全漏洞? 最佳答案 Isitbecauseofdesignflawissue?设计...缺陷?那是设计的祝福,设计的福音,设计的优点,除了缺陷之外的一切!全局变量arebad,并且它们在Web应用程序中特别不好。使用全局变

ruby - rbenv 无法更改全局 ruby​​ 版本

我的MacOSX有一个默认的ruby​​。$ruby-vruby2.0.0p451(2014-02-24revision45167)[universal.x86_64-darwin13]我安装了rbenv和ruby​​版本2.1.2。$rbenvversionssystem*2.1.2(setby/Users/sdw/.rbenv/version)我尝试将全局ruby​​版本设置为2.1.2,但没有任何反应。$rbenvglobal2.1.2$ruby-vruby2.0.0p451(2014-02-24revision45167)[universal.x86_64-darwin13]所

ruby - 从 OAuth 安全存储 token / secret /等的正确方法?

我刚刚开始研究OAuth,它看起来非常好。我有oauthwithtwitterworking现在在ruby中。现在我想知道,在我的本地数据库和session中存储响应的推荐安全方法是什么?我应该储存什么?我应该把它存放在哪里?这个例子twitter-oauth-with-railsapp在session中存储了一个user.id,user表有token和secret。但这似乎真的很容易破解并通过传递大量测试用户ID来获取secret,不是吗? 最佳答案 如果没有您的Twitter应用程序的消费者key/secret,token将毫无

ruby-on-rails - 如何在 Ruby on Rails 中声明一个全局变量?

如何在RubyonRails中声明全局变量?我的示例代码:在我的controller#application.rb中:defuser_clicked()@current_userid=params[:user_id]end在我的layout#application.html.haml我有这个链接的侧边栏:=link_to"John",user_clicked_path(:user_id=>1)=link_to"Doe",user_clicked_path(:user_id=>2)=link_to"Viewclickeduser",view_user_path在我的views#view_

网络安全必备1000道面试题集锦(附答案)

前言以下为网络安全各个方向涉及的面试题,星数越多代表问题出现的几率越大,祝各位都能找到满意的工作。注:本套面试题,已整理成pdf文档,但内容还在持续更新中,因为无论如何都不可能覆盖所有的面试问题,更多的还是希望由点达面,查漏补缺。一、渗透测试方向:如何绕过CDN找到真实IP,请列举五种方法(★★★)redis未授权访问如何利用,利用的前提条件是?(★★★)mysql提权方式有哪些?利用条件是什么?(★)windows+mysql,存在sql注入,但是机器无外网权限,可以利用吗?(★)常用的信息收集手段有哪些,除去路径扫描,子域名爆破等常见手段,有什么猥琐的方法收集企业信息?(★★)SRC挖掘与

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​​ 中的(阴影)全局函数

我想知道如何从一个定义了方法fn的类访问ruby​​中的全局函数fn。我通过像这样给函数起别名来解决这个问题:deffnendclassBaraliasglobal_fnfndeffn#howtoaccesstheglobalfnherewithoutthealiasglobal_fnendend我正在寻找与c++的::类似的东西来访问全局范围,但我似乎无法找到有关它的任何信息。我想我并不清楚自己在寻找什么。 最佳答案 在顶层,def将私有(private)方法添加到Object。我能想到的三种获取顶层函数的方法:(1)使用send

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

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