diff --git a/app.rb b/app.rb
index f6ff549..8bb7c51 100644
--- a/app.rb
+++ b/app.rb
@@ -13,11 +13,13 @@
   tmp_dir = Dir::mktmpdir('csvlint')
   tidy_tmpfile = params[:tidyDataFile][:tempfile]
   tidy_filename = File::join(tmp_dir, params[:tidyDataFile][:filename])
+  tidy_filename.gsub!(/[\x00-\x1f\/|?*]/, '_')
   File.open(tidy_filename, 'wb') do |tf|
     tf.write(tidy_tmpfile.read)
   end
   schema_tmpfile = params[:schemaFile][:tempfile]
   schema_filename = File::join(tmp_dir, params[:schemaFile][:filename])
+  schema_filename.gsub!(/[\x00-\x1f\/|?*]/, '_')
   File.open(schema_filename, 'wb') do |sf|
     sf.write(schema_tmpfile.read)
   end