私はすべてのテストを自動的に実行し、失敗をチェックしています(単純に "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」にいくつかの悪質なコードを配置して、すべてをつぶすことができます。このようなハッキングからRubyスクリプトを保護するための方法である
Dir.glob("*")
Dir.mkdir("HACK_DIR")
File.delete("some_file")
何?
異なるOSには異なる権限モデルがあります。どのOSを使用していますか? –
私は繰り返すことができます:あなたが安全にしたいならば、受け入れられた答えに示された助言に従わないでください。あなたはハッキングされます。 –