check for ip addresses being used for custom domains

This commit is contained in:
Kyle Drake 2024-08-20 10:29:31 -05:00
parent d10713455c
commit e1113287b4

View file

@ -1,3 +1,6 @@
require 'socket'
require 'ipaddr'
get '/settings/?' do
require_login
@site = parent_site
@ -152,6 +155,15 @@ post '/settings/:username/custom_domain' do
redirect "/settings/#{@site.username}/#custom_domain"
end
begin
addr = IPAddr.new @site.values[:domain]
if addr.ipv4? || addr.ipv6?
flash[:error] = 'IP addresses are not allowed. Please enter a valid domain name.'
redirect "/settings/#{@site.username}#custom_domain"
end
rescue IPAddr::InvalidAddressError
end
begin
Socket.gethostbyname @site.values[:domain]
rescue SocketError, ResolutionError => e