X-Git-Url: http://git.rot13.org/?p=zxing.git;a=blobdiff_plain;f=zxingorg%2Fsrc%2Fcom%2Fgoogle%2Fzxing%2Fweb%2FDoSFilter.java;fp=zxingorg%2Fsrc%2Fcom%2Fgoogle%2Fzxing%2Fweb%2FDoSFilter.java;h=7c9fa77dcfd3d0131b64560203c275ea706e5bba;hp=177fc2bc440801be44225b507ed35eab8bd024f8;hb=d582cb1745e3ac3c07305da6c34b6272cf5354e0;hpb=ba81506550f1956c6ff153558c63f5b5517da58b diff --git a/zxingorg/src/com/google/zxing/web/DoSFilter.java b/zxingorg/src/com/google/zxing/web/DoSFilter.java index 177fc2bc..7c9fa77d 100755 --- a/zxingorg/src/com/google/zxing/web/DoSFilter.java +++ b/zxingorg/src/com/google/zxing/web/DoSFilter.java @@ -27,13 +27,11 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.net.InetAddress; import java.net.UnknownHostException; -import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.Set; import java.util.Timer; import java.util.TimerTask; -import java.util.regex.Pattern; /** * A {@link Filter} that rejects requests from hosts that are sending too many @@ -46,29 +44,20 @@ public final class DoSFilter implements Filter { private static final int MAX_ACCESSES_PER_IP_PER_TIME = 10; private static final long MAX_ACCESS_INTERVAL_MSEC = 10L * 1000L; private static final long UNBAN_INTERVAL_MSEC = 60L * 60L * 1000L; - private static final Pattern COMMA_PATTERN = Pattern.compile(","); private final IPTrie numRecentAccesses; private final Timer timer; private final Set bannedIPAddresses; - private final Collection manuallyBannedIPAddresses; private ServletContext context; public DoSFilter() { numRecentAccesses = new IPTrie(); timer = new Timer("DosFilter reset timer"); bannedIPAddresses = Collections.synchronizedSet(new HashSet()); - manuallyBannedIPAddresses = new HashSet(); } public void init(FilterConfig filterConfig) { context = filterConfig.getServletContext(); - String bannedIPs = filterConfig.getInitParameter("bannedIPs"); - if (bannedIPs != null) { - for (String ip : COMMA_PATTERN.split(bannedIPs)) { - manuallyBannedIPAddresses.add(ip.trim()); - } - } timer.scheduleAtFixedRate(new ResetTask(), 0L, MAX_ACCESS_INTERVAL_MSEC); timer.scheduleAtFixedRate(new UnbanTask(), 0L, UNBAN_INTERVAL_MSEC); } @@ -86,8 +75,7 @@ public final class DoSFilter implements Filter { private boolean isBanned(ServletRequest request) { String remoteIPAddressString = request.getRemoteAddr(); - if (bannedIPAddresses.contains(remoteIPAddressString) || - manuallyBannedIPAddresses.contains(remoteIPAddressString)) { + if (bannedIPAddresses.contains(remoteIPAddressString)) { return true; } InetAddress remoteIPAddress;