Skip to content

Commit

Permalink
Improve domain input sanitizion
Browse files Browse the repository at this point in the history
  • Loading branch information
jclusso committed Feb 17, 2024
1 parent 6281f1f commit 4726232
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 6 deletions.
7 changes: 1 addition & 6 deletions app/controllers/queries_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,6 @@ def set_query
end

def query_params
pars = params.require(:query).permit(:domain, :type, :server)
if pars[:domain].present?
pars[:domain].gsub!(/(^\w+:|^)\/\//, '')
pars[:domain].gsub!(/\/.+/, '')
end
pars
params.require(:query).permit(:domain, :type, :server)
end
end
11 changes: 11 additions & 0 deletions app/models/query.rb
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,17 @@ def self.types

validates_presence_of :domain, :server, :type

def domain=(value)
return unless value.present?

value.gsub!(/(^\w+:|^)\/\//, '') # remove protocols
value.gsub!(/\/.+/, '') # remove path
value.delete!(' ') # remove any spaces
value.downcase!

super(value)
end

def server=(value)
ip = self.class.servers[value.to_sym]
return unless ip
Expand Down

0 comments on commit 4726232

Please sign in to comment.