Sha256: db7fe9489170dfd1dc459e2d7987f511130e678087d0d594b8e8f2ecf02a4c40
Contents?: true
Size: 1.56 KB
Versions: 20
Compression:
Stored size: 1.56 KB
Contents
require 'cms_scanner/finders/finder/smart_url_checker/findings' module CMSScanner module Finders class Finder # Smart URL Checker # Typically used when some URLs are potentially in the homepage. If they are found # in it, they will be checked in the #passive (like a browser/client would do when loading the page). # Otherwise they will be checked in the #aggressive module SmartURLChecker # @param [ Array<String> ] urls # @param [ Hash ] opts # # @return [] def process_urls(_urls, _opts = {}) raise NotImplementedError end # @param [ Hash ] opts # # @return [ Array<Finding> ] def passive(opts = {}) process_urls(passive_urls(opts), opts) end # @param [ Hash ] opts # # @return [ Array<String> ] def passive_urls(_opts = {}) target.in_scope_urls(target.homepage_res, passive_urls_xpath) end # @return [ String ] def passive_urls_xpath raise NotImplementedError end # @param [ Hash ] opts # # @return [ Array<Finding> ] def aggressive(opts = {}) # To avoid scanning the same twice urls = aggressive_urls(opts) urls -= passive_urls(opts) if opts[:mode] == :mixed process_urls(urls, opts) end # @param [ Hash ] opts # # @return [ Array<String> ] def aggressive_urls(_opts = {}) raise NotImplementedError end end end end end
Version data entries
20 entries across 20 versions & 1 rubygems