Class SpiderDetector


  • public class SpiderDetector
    extends Object
    SpiderDetector delegates static methods to SpiderDetectorService, which is used to find IP's that are spiders...
    Author:
    kevinvandevelde at atmire.com, ben at atmire.com, Mark Diggory (mdiggory at atmire.com), frederic at atmire.com
    • Method Detail

      • getSpiderIpAddresses

        public static Set<String> getSpiderIpAddresses()
        Get an immutable Set representing all the Spider Addresses here
        Returns:
        a set of IP addresses as strings
      • readPatterns

        public static Set<String> readPatterns​(File patternFile)
                                        throws IOException
        Utility method which reads lines from a file & returns them in a Set.
        Parameters:
        patternFile - the location of our spider file
        Returns:
        a vector full of patterns
        Throws:
        IOException - could not happen since we check the file be4 we use it
      • isSpider

        public static boolean isSpider​(String clientIP,
                                       String proxyIPs,
                                       String hostname,
                                       String agent)
        Static Service Method for testing spiders against existing spider files.

        In future spiders HashSet may be optimized as byte offset array to improve performance and memory footprint further.

        Parameters:
        clientIP - address of the client.
        proxyIPs - comma-list of X-Forwarded-For addresses, or null.
        hostname - domain name of host, or null.
        agent - User-Agent header value, or null.
        Returns:
        true if the client matches any spider characteristics list.
      • isSpider

        public static boolean isSpider​(javax.servlet.http.HttpServletRequest request)
        Static Service Method for testing spiders against existing spider files.
        Parameters:
        request -
        Returns:
        true|false if the request was detected to be from a spider.
      • isSpider

        public static boolean isSpider​(String ip)
        Check individual IP is a spider.
        Parameters:
        ip -
        Returns:
        if is spider IP