在 rails 中检测外部 url 的最佳方法是什么?
def external?(url)
return true if url is external
end
在 rails 中检测外部 url 的最佳方法是什么?
def external?(url)
return true if url is external
end
这里没有验证或任何东西。如果url
包含 root_url,这只会返回 true
is_external_url?(url)
true unless url.include?(root_url)
end
def get_host_name(url)
url = "http://#{url}" if URI.parse(url).scheme.nil?
URI.parse(url).host.downcase
end
def is_external_url?(url)
host = get_host_name(url)
host != 'www.mydomain.com'
end
如果您无权访问当前域,请检查当前应用程序中是否可以识别路径
def external?(url)
!!(Rails.application.routes.recognize_path(URI.parse(url).path) rescue false)
end