【发布时间】:2012-03-04 18:08:22
【问题描述】:
我正在尝试编写脚本,它将自动运行我的所有测试并检查失败,就像那样(只需使用“ruby file.rb”运行测试并解析输出):
def failures?(test_file)
io = IO.popen("ruby #{test_file}")
log = io.readlines
io.close
# parsing output for failures "1 tests, 1 assertions, 0 failures, 0 errors"
log.last.split(',').select{ |s| s =~ /failures/ }.first[/\d+/] != "0"
end
puts failures?("test.rb")
但是有人可以很容易地在“test_file”中放置一些恶意代码并粉碎一切:
Dir.glob("*")
Dir.mkdir("HACK_DIR")
File.delete("some_file")
保护 ruby 脚本免受此类黑客攻击的方法是什么?
【问题讨论】:
-
不同的操作系统有不同的权限模型。您使用的是哪个操作系统?
-
我只能重复一遍:如果您想安全,请不要遵循已接受答案中给出的建议。你会被黑。
标签: ruby unit-testing testing