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

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

在厨师执行期间在本机扩展包之后安装gem

虽然在安装本机软件包之前安装了gem,但我尝试在大厨配方中安装雾gem,因此gem安装失败 package “libxslt-dev” package “libxml2-dev” chef_gem “fog” 这是输出 [Thu, 14 Mar 2013 13:04:30 +0000] INFO: Processing chef_gem[fog] action install (ebs4000::update_volumes line 23) [Thu, 14 Mar 2013 13:04:52 +0000] ERROR: Running exception handlers [Thu, 14 Mar 2013 13:04:52 +0000] FATAL: Saving node information to /var/cache/chef/failed-run-data.json [Thu, 14 Mar 2013 13:04:52 +0000] ERROR: Exception handlers complete [Thu, […]

RMagick – 如何找出图像的像素尺寸

这可能是一个愚蠢的问题,但如何找到图像的宽度和高度(以像素为单位)? image.x_resolution和image.y_resolution由于某种原因都返回0。

识别Treetop语法中的Ruby代码

我正在尝试使用Treetop来解析ERB文件。 我需要能够处理如下行: 由于Treetop是用Ruby编写的,你用Ruby编写Treetop语法,Treetop中已经有一些现有方法可以说“嘿,在这里查找Ruby代码,并给我分解”,而不必编写单独的规则来处理Ruby语言的所有部分? 我正在寻找一种方法,在我的.treetop语法文件中,有类似的东西: rule erb_tag “” { def content … end } end 其中ruby_code由Treetop提供的某些规则处理。 编辑: 其他人使用Ruby-lex解析ERB,但是我在尝试重现他所做的事情时遇到了错误。 在生成解析器类时,rlex程序没有生成完整的类。 编辑:对,所以你很多都很郁闷,但感谢你的信息。 :)对于我的Master的项目,我正在编写一个测试用例生成器,需要使用ERB作为输入。 幸运的是,出于我的目的,我只需要识别ERB代码中的一些内容,例如if语句和其他条件以及循环。 我想我可以提出Treetop语法来匹配它,但需要注意的是Ruby并不完整。

如何在Ruby中触发shell脚本并在后台运行(异步)?

我有一个名为test.sh的shell脚本。 如何从Ruby触发test.sh? 我希望test.sh作为后台进程运行,这意味着在Ruby中它是一个ansync调用。 还需要将STDERR和STDOUT写入特定文件。 有任何想法吗?

将方法传递给稍后要插入的字符串

是否可以将字符串传递给ruby中的方法并使该方法插入该字符串? 我有这样的想法: do_a_search(“location = #{location}”) … def do_a_search(search_string) location = …. #get this from another source Model.where(search_string) end 上下文是RoR,但我认为这是一个普遍的ruby问题。 我意识到上面的例子看起来有点复杂,但我正在尝试重构一堆非常重复的方法。 问题是,如果我将字符串插入双引号中,则在调用方法时位置不存在,如果我将其放在单引号中,它将永远不会被插值… 我真正想要做的是将它放在单引号中并稍后进行插值。 我不认为这是可能的,或者我错过了什么? 编辑:要清楚(因为我认为我已经过度简化了我上面要做的事情),其中一个问题是我可能想在多个上下文中调用此方法; 我可能真的想打电话 do_a_search(“country = #{country}”) 甚至 do_a_search(“country = #{country} AND location = #{location}) (国家也作为我方法中的局部变量存在)。 因此,我希望在方法调用中传递替换所需的所有内容 我认为facet gem中的String.interpolate方法可以解决我的问题,但它在rails 4中不起作用

在jQuery + ERB的视图中获取6:Fixnum(Rails)的未定义方法`gsub’?

我正在尝试将一些jQuery + ERB添加到特定视图: views / posts / show.html.erb(文件顶部): $(“.post- h3″).prepend(”); posts show (etc…) <div class="post-“> votes true %> views / layouts / application.html.erb(文件底部): (etc…) 但是我收到以下错误: undefined method `gsub’ for 6:Fixnum Extracted source (around line #3): 1: 2: 3: $(“post-“).html(”); 4: 5: 有什么建议来解决这个问题

如何将Git子目录推送到heroku?

在github上,我在目录的子目录中有一个Rails应用程序github.com/sadaf2605/directory/subdirectory/{rails app} 。 当我尝试将此应用程序推送到Heroku时,我收到一个错误: ! Heroku push rejected, no Cedar-supported app detected To git@heroku.com:damp-woodland-7566.git ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to ‘git@heroku.com:damp-woodland-7566.git’ 阅读“ Heroku push被拒绝,没有Cedar支持的应用程序检测到wordpress ”后,我了解到这个子目录导致了问题。 但是,我希望这个子目录保留在github,因为它可以帮助我组织我的工作,但我不想更改route.rb。 可能吗?

ruby net-ssh登录shell

有什么办法可以使用net-ssh在ruby中获取登录shell吗? 这有可能吗? 通过登录shell我的意思是源/ etc / profile ..

如何在rake任务中包含ActionMailer类?

我想在我的rake任务中使用ActionMailer,以便在特定时间向人们发送电子邮件。 我在app / mailers文件夹中编写了一个mailer类,如下所示: class AlertsMailer < ActionMailer::Base default from: 'x@y.com' def mail_alert(email_addresses, subject, url) @url = '#{url}' mail(to: email_addresses, subject: 'Alert') do |format| format.html { render '/alerts/list' } end end end 然后我在rake任务中包含以下行: AlertsMailer.mail_alert(email_addresses, subject) 当我尝试运行rake任务时: rake update_db 我收到以下错误: uninitialized constant AlertsMailer 我想我必须以某种方式在我的rake任务中加载邮件程序类,但我不知道该怎么做。 请帮忙。