Package org.dspace.statistics.util
Class SpiderDetector
- java.lang.Object
-
- org.dspace.statistics.util.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 Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Set<String>getSpiderIpAddresses()Get an immutable Set representing all the Spider Addresses herestatic booleanisSpider(String ip)Check individual IP is a spider.static booleanisSpider(String clientIP, String proxyIPs, String hostname, String agent)Static Service Method for testing spiders against existing spider files.static booleanisSpider(javax.servlet.http.HttpServletRequest request)Static Service Method for testing spiders against existing spider files.static Set<String>readPatterns(File patternFile)Utility method which reads lines from a file & returns them in a Set.
-
-
-
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
-
-