小编arb*_*les的帖子

使用JavaScript检测文本中的URL

有没有人建议检测一组字符串中的URL?

arrayOfStrings.forEach(function(string){
  // detect URLs in strings and do something swell,
  // like creating elements with links.
});
Run Code Online (Sandbox Code Playgroud)

更新:我使用这个正则表达式进行链接检测...显然几年后.

kLINK_DETECTION_REGEX = /(([a-z]+:\/\/)?(([a-z0-9\-]+\.)+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel|local|internal))(:[0-9]{1,5})?(\/[a-z0-9_\-\.~]+)*(\/([a-z0-9_\-\.]*)(\?[a-z0-9+_\-\.%=&]*)?)?(#[a-zA-Z0-9!$&'()*+.=-_~:@/?]*)?)(\s+|$)/gi
Run Code Online (Sandbox Code Playgroud)

完整的助手(可选的Handlebars支持)在要点#1654670.

javascript regex url

128
推荐指数
7
解决办法
13万
查看次数

在Ruby中形成卫生shell命令或系统调用

我正在构建一个可以帮助我管理服务器的守护进程.Webmin运行良好,就像打开服务器的shell一样,但我更喜欢能够从我设计的UI控制服务器操作,并向最终用户公开一些功能.

守护程序将从队列中获取操作并执行它们.但是,由于我将接受用户的输入,我想确保他们不被允许在特权shell命令中注入危险的东西.

这是一个例证我问题的片段:

def perform
  system "usermod -p #{@options['shadow']} #{@options['username']}"
end
Run Code Online (Sandbox Code Playgroud)

一个解释更多的要点:https://gist.github.com/773292

如果对这种情况进行典型的输入和消毒输入就足够了,我并不乐观,作为一名设计师,我没有大量与安全相关的经验.我知道这对我来说应该是显而易见的,但事实并非如此!

如何确保将创建和序列化操作的Web应用程序无法将危险文本传递到接收操作的特权进程?

谢谢你的帮助
arb

ruby security shell sanitization system

14
推荐指数
2
解决办法
9432
查看次数

在Git中分离文件

我正在尝试将我的静态文件保存在一个单独的分支中,以便我可以防止它们合并到我的主brach中(在Heroku上,你的应用程序的slug需要保持小).我不想忽略我的静态文件,因为我想把它们放在我的"devel"分支中.

理想情况下,我想保持test.db为空,我的整个公共文件夹在主分支中空白.

那么,我可以在分支上创建"叠加"吗?我可以阻止某些文件/目录合并到我的主分支中吗?

git branch heroku

5
推荐指数
1
解决办法
336
查看次数

下载并编写.tar.gz文件而不会损坏

你如何使用Ruby下载文件,特别是.zip和.tar.gz,并将它们写入磁盘?

-
这个问题最初是针对MacRuby中的一个错误,但答案与上述一般问题相关.

使用MacRuby,我发现该文件看起来与引用(大小)相同,但是档案拒绝提取.我现在正在尝试的是:https://gist.github.com/arbales/8203385
谢谢!

ruby http file download

4
推荐指数
1
解决办法
2566
查看次数

使用Rack :: Session :: Datamapper

mkristgan的rack_datamapper gem说它"可以被包装用于特定的环境,即Rack :: Session :: Datamapper".

不幸的是,我还不太了解Ruby来完成这项任务 - Ruby中的模块/类仍然在我的头上(来自PHP).

任何人都可以使用rack_datamapper来实现Rack :: Session :: Datamapper吗?

你可能不想这样做.

下面的答案很好,但经过仔细考虑,我意识到我不应该这样做.相反,我将user_id,ip和名字(为方便起见)放在cookie中并保护它.

ruby session rack datamapper sinatra

3
推荐指数
1
解决办法
1398
查看次数

在Sinatra中使用AWS :: S3列出存储桶

我正在尝试使用aws-s3 gem访问我的Amazon S3帐户,但无论我做什么,我甚至无法打印存储桶列表.

错误:

undefined method `bytesize' for #<AWS::S3::Bucket:0x1b9e488>
Run Code Online (Sandbox Code Playgroud)

来自代码:

# hello_world.rb
require 'rubygems'
require 'sinatra'
require 'aws/s3'

get '/' do
  connection = AWS::S3::Base.establish_connection!(
     :access_key_id     => '***',
     :secret_access_key => '***'
   )
  AWS::S3::Service.buckets
end
Run Code Online (Sandbox Code Playgroud)

我对Ruby没有太多经验,我只是错过了一些明显的东西吗?

ruby ruby-on-rails amazon-s3 sinatra amazon-web-services

2
推荐指数
2
解决办法
2757
查看次数