Tag: 安全

Rails是否共享 – 或者可以将请求分开访问相同的运行时变量?

PHP在无共享环境中运行,在这种情况下,这意味着每个Web请求都在一个干净的环境中运行。 除了通过单独的持久层(文件系统,数据库等)之外,您无法访问其他请求的数据。 Ruby on Rails怎么样? 我刚读了一篇博文,说明单独的请求可能会访问同一个类变量。 我想到这可能取决于Web服务器。 Mongrel的FAQ说明Mongrel每个请求使用一个线程 – 建议无共享环境。 FAQ继续说RoR不是线程安全的,这进一步表明RoR不会存在于共享环境中,除非新请求重用从先前请求创建的内存中对象。 显然这具有巨大的安全后果。 所以我有两个问题: RoR环境是否共享? 如果RoR在共享环境中运行(或者可能在某些情况下运行),那么我应该对哪些变量和其他数据存储感到偏执? 更新:我会进一步澄清。 在Java servlet容器中,您可以拥有跨多个请求持久化的对象。 这通常用于缓存多个用户可以访问的数据,数据库连接等。在PHP中,这不能在应用程序层完成,它必须在像Memcached这样的单独的持久层中完成。 所以双重问题是:哪种情况是RoR(PHP或Java),如果像Java一样, 哪些数据类型在多个请求中持续存在?

Ruby中的安全执行

我正在努力建立一个人们可以在那里上传代码的网站。 类似SPOJ / ACM的东西。 如何确保代码不会损坏我的系统(限制对套接字,系统调用的访问) 我在网上看了很多解决方案,一些建议chroot但我不明白。 这也需要配置,这可以通过配置等完成。 注意我不是要求使用可执行文件运行的任何特定语言。 我的开发设置是用于托管的MAC和Linux,如果解决方案可以同时运行,那就太好了。 不是要求。

可以使用Ruby $ SAFE级别来利用Rails漏洞吗?

诸如CVE-2013-0155和CVE-2013-0156之类的Rails漏洞可能允许用户运行由不受信任的源(XML / YAML参数)构造的任意代码。 使用$ SAFE = 4(比如说)是否可以防止此类攻击? 如果是,Rails开发者是否使用这样的安全级别? 如果不是,为什么? 谢谢

Rubygem有像木马一样的风险吗?

我正准备安装一个我从未听说过的Rubygem。 但有些东西让我想到“这个人是谁?”。 Ruby gem是否存在访问您计算机上的私有数据并将其传输到其他地方的风险 – 因为gem系统可以访问Internet? 或者有保护措施吗?

在$ SAFE = 4的ruby中可能存在哪些漏洞?

在$ SAFE = 4的ruby中可能存在哪些漏洞? 马上就知道XSRF是可能的,因为攻击与“污染变量”无关,而是http请求源自何处。 我知道使用像md5()这样的弱加密算法是不会被选中的。 你知道其他人吗? 代码示例非常感谢!

解决Python的共享服务器安全问题

所以我的小组正在尝试为各种各样的Web服务建立一个共享服务器环境。 我想我们已经决定在php.ini和php_admin_value设置disable_functions和disable_classes网站,以强制每个应用程序的httpd.conf open_basedir用于php脚本,以及乘客用户切换 ruby脚本。 我们仍然需要为python找到一些东西。 Passenger确实支持python,但不支持特定子目录的每个应用程序安全性(在域级别是全部或全部)。 有什么建议? (如果之前的任何一个没有意义 – 好吧,我是那个应该设置python支持的人,而不是设置php或ruby支持的人,所以还有一些“然后一些魔法发生了“从我的角度出发的步骤”。

盐如何在Rails的has_secure_password中工作

根据我从盐析中理解的更加安全的加密密码,我会生成一个随机数(盐)并将其与散列密码一起存储在用户记录中(例如)。我会将盐与明文连接起来密码,然后加密(哈希)。 产生的哈希将难以破解。 将重复此过程以validation密码。 看看has_secure_password和bcrypt_ruby (披露:我不是安全专家)我不知道如何做到这一点,因为用户记录中存储的唯一内容是哈希密码。 盐在哪里?

Ruby on Rails私有链接共享:Google Docs Style

什么是让用户能够共享私人链接的最佳方式,该链接使点击它的任何人都可以查看具有隐私限制的特定页面/文档/项目? 就我而言: 用户创建的事件仅限于数据库中的某些关系组(即:朋友,朋友的朋友等)。我在事件控制器中有一个:before_filter ,用于检查当前登录用户的资格,以确保该用户有权查看该事件。 如果他们不这样做,他们会被引导到根页面并显示错误消息。 但是,我想要一个特殊的场景,用户可以创建具有相同隐私设置的事件,并且可以通过电子邮件,脸书等方式与他或她的朋友分享特殊链接。这些用户不会需要一个帐户 (但需要制作一个帐户才能注册活动)。 这很重要,因为application_controller中还有一个:before_filter,用于确保用户已登录。 我在想这里有一些我可以做的路由…现在我只需要简单的/ events / 72设置。 每个事件应该有两个不同的链接:一个正常的链接和一个“特殊代码”版本,它们可以绕过这两个:before_filter? 人们的想法是什么?

如何覆盖’as_json’或’to_json’方法以便’respond_to’而不包含指定的信息?

我正在使用Ruby on Rails 3,我想覆盖(可能在模型文件中) as_json或to_json方法,以便在不包含某些信息的情况下响应HTTP请求。 在我的帐户模型中,我有 def as_json(options = {}) super( :except => [ :password ] ) end 在我的控制器中我有 format.json { render :json => @account, :status => 200 } 例如,当我向/account/1.json发出请求时,我还返回了密码属性,出于安全原因,我不想要。 那么, 如何防止包含指定信息? 我能做到这一点并且有效 format.json { render :json => @account.to_json(:except => [:password]), :status => 200 } 但我需要重构 。

最佳灵活的rails密码安全实现

我需要实现具有各种灵活要求的密码安全性。 这些要求基本上取自Sans密码策略 : 强密码具有以下特征: 包含以下五个字符类中的至少三个: 小写字符 大写字符 数字 标点 “特殊”字符(例如@#$%^&*()_ + |〜 – =`{} []:“;’ / etc) 包含至少十五个字母数字字符。 还有要求不允许用户电子邮件地址出现在密码中。 理想情况下,我想要一个可以处理这个问题的gem – 它会得到更广泛的测试和使用,而且我们不太可能有bug。 如果没有gem涵盖这一点,那么处理这些要求的最佳和最强化的方法是什么? 理想情况下,我们可以说我们不仅安全,而且安全,因为我们有行业标准实施。 到目前为止我发现的gem是: 设计安全扩展 ,它有一个非常简单的正则表达式,用于检查是否存在大写,小写和数字 和 强密码 ,它只是提供熵检查,让用户知道他们的密码是否很强。 (我们正在使用Rails 3.2.17和Ruby 1.9.3,但是计划很快转向Rails 4和Ruby 2,因此也欢迎更新的解决方案)。