У меня есть некоторый опыт программирования, но у меня очень мало опыта в отношении безопасности программ. Я написал сервер с одним сервисом на Ruby, который работает на компьютере под управлением Windows XP и будет использоваться компьютером Linux в той же лаборатории. Лабораторная сеть также находится за брандмауэром, так что там не должно быть проблем, но я действительно понятия не имею. Ниже приведен код для сервера. Все, что он делает, это берет файл .raw, запускает msconvert.exe, чтобы преобразовать его в файл mzML, а затем отправляет обратно файл mzML.
require 'socket'
server = TCPServer.open(2000)
loop {
client = server.accept
filename = client.gets.chomp
puts "Reading contents of #{filename}.raw"
raw_data = client.gets("\r\r\n\n").chomp("\r\r\n\n")
File.open(filename + ".raw", 'wb') {|out| out.print raw_data}
puts "Converting #{filename}"
#It's lame to have a script run a script, but it's the only way to get this to work.
system "scriptit.bat " + filename + ".raw"
puts "Sending contents of #{filename}.mzML"
client.print IO.read(filename + ".mzML")
client.print "\r\r\n\n"
puts "Done"
client.close # Disconnect from the client
}
Должен ли я сделать что-то, чтобы сделать это более безопасным, или мне не нужно беспокоиться об этом?