Module: Arachni::Framework::Parts::Data
- Included in:
- Arachni::Framework
- Defined in:
- lib/arachni/framework/parts/data.rb
Overview
Provides access to Data::Framework and helpers.
Instance Method Summary collapse
- #data ⇒ Data::Framework
-
#page_queue_total_size ⇒ Integer
Total number of pages added to the page audit queue.
-
#push_to_page_queue(page, force = false) ⇒ Bool
‘true` if push was successful, `false` if the `page` matched any exclusion criteria or has already been seen.
-
#push_to_url_queue(url, force = false) ⇒ Bool
‘true` if push was successful, `false` if the `url` matched any exclusion criteria or has already been seen.
-
#sitemap ⇒ Hash<String, Integer>
List of crawled URLs with their HTTP codes.
-
#url_queue_total_size ⇒ Integer
Total number of URLs added to the URL audit queue.
Instance Method Details
#data ⇒ Data::Framework
19 20 21 |
# File 'lib/arachni/framework/parts/data.rb', line 19 def data Arachni::Data.framework end |
#page_queue_total_size ⇒ Integer
Returns Total number of pages added to the page audit queue.
74 75 76 |
# File 'lib/arachni/framework/parts/data.rb', line 74 def page_queue_total_size data.page_queue_total_size end |
#push_to_page_queue(page, force = false) ⇒ Bool
Returns ‘true` if push was successful, `false` if the `page` matched any exclusion criteria or has already been seen.
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/arachni/framework/parts/data.rb', line 29 def push_to_page_queue( page, force = false ) return false if !force && (!accepts_more_pages? || state.page_seen?( page ) || page.scope.out? || page.scope.redundant?( true )) # We want to update from the already loaded page cache (if there is one) # as we have to store the page anyways (needs to go through Browser analysis) # and it's not worth the resources to parse its elements. # # We're basically doing this to give the Browser and Trainer a better # view of what elements have been seen, so that they won't feed us pages # with elements that they think are new, but have been provided to us by # some other component; however, it wouldn't be the end of the world if # that were to happen. ElementFilter.update_from_page_cache page page.clear_cache data.push_to_page_queue page state.page_seen page true end |
#push_to_url_queue(url, force = false) ⇒ Bool
Returns ‘true` if push was successful, `false` if the `url` matched any exclusion criteria or has already been seen.
58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/arachni/framework/parts/data.rb', line 58 def push_to_url_queue( url, force = false ) return if !force && !accepts_more_pages? url = to_absolute( url ) || url if state.url_seen?( url ) || skip_path?( url ) || redundant_path?( url, true ) return false end data.push_to_url_queue url state.url_seen url true end |
#sitemap ⇒ Hash<String, Integer>
Returns List of crawled URLs with their HTTP codes.
86 87 88 |
# File 'lib/arachni/framework/parts/data.rb', line 86 def sitemap data.sitemap end |
#url_queue_total_size ⇒ Integer
Returns Total number of URLs added to the URL audit queue.
80 81 82 |
# File 'lib/arachni/framework/parts/data.rb', line 80 def url_queue_total_size data.url_queue_total_size end |