示例 Servlet 过滤器捕获并阻止请求可疑 URL 的 IP

2023-12-14

避免重新开发轮子。是否有任何 Java EE servlet 过滤器示例可以处理一些基本的安全检查/即

  • 如果 Rootkit 攻击服务器,即 URL 以 .exe 结尾或包含“../../..”,则在一段时间内阻止 Web 请求
  • 限制或阻止发出异常大量请求的 IP。

我也想知道是否有相当于Thread.sleep(1000);在 servlet 过滤器中处理那些特定类型的请求并不是一件坏事。


也许这会有所帮助。

public class SuspiciousURLFilter implements Filter {

        @Override
        public void destroy() {
        }

        @Override
        public void doFilter(ServletRequest request, ServletResponse response,
                FilterChain filterChain) throws IOException, ServletException {

            HttpServletRequest httpRequest = (HttpServletRequest) request;
            String requestURI = httpRequest.getRequestURI();

            if (requestURI.endsWith(".exe")) {

                HttpServletResponse httpResponse = (HttpServletResponse) response;
                            //send error or maybe redirect to some error page
                            httpResponse.sendError(HttpServletResponse.SC_BAD_REQUEST);
            }

            filterChain.doFilter(request, response);
        }

        @Override
        public void init(FilterConfig config) throws ServletException {
        }
    }

在您的 web.xml 中:

    <filter>
        <filter-name>suspiciousURLFilter </filter-name>
        <filter-class>your.package.SuspiciousURLFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>SuspiciousURLFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

示例 Servlet 过滤器捕获并阻止请求可疑 URL 的 IP 的相关文章

  • 如何为最终用户方便地启动Java GUI程序

    用户想要从以下位置启动 Java GUI 应用程序Windows 以及一些额外的 JVM 参数 例如 javaw Djava util logging config file logging properties jar MyGUI jar
  • Java new Date() 打印

    刚刚学习 Java 我知道这可能听起来很愚蠢 但我不得不问 System out print new Date 我知道参数中的任何内容都会转换为字符串 最终值是 new Date 返回对 Date 对象的引用 那么它是如何打印这个的呢 Mo
  • 如何默认将 Maven 插件附加到阶段?

    我有一个 Maven 插件应该在编译阶段运行 所以在项目中consumes我的插件 我必须做这样的事情
  • Play框架运行应用程序问题

    每当我尝试运行使用以下命令创建的新 Web 应用程序时 我都会收到以下错误Play http www playframework org Error occurred during initialization of VM Could no
  • Java - 将节点添加到列表的末尾?

    这是我所拥有的 public class Node Object data Node next Node Object data Node next this data data this next next public Object g
  • 使用 Android 发送 HTTP Post 请求

    我一直在尝试从 SO 和其他网站上的大量示例中学习 但我无法弄清楚为什么我编写的示例不起作用 我正在构建一个小型概念验证应用程序 它可以识别语音并将其 文本 作为 POST 请求发送到 node js 服务器 我已确认语音识别有效 并且服务
  • 制作一个交互式Windows服务

    我希望我的 Java 应用程序成为交互式 Windows 服务 用户登录时具有 GUI 的 Windows 服务 我搜索了这个 我发现这样做的方法是有两个程序 第一个是服务 第二个是 GUI 程序并使它们进行通信 服务将从 GUI 程序获取
  • 操作错误不会显示在 JSP 上

    我尝试在 Action 类中添加操作错误并将其打印在 JSP 页面上 当发生异常时 它将进入 catch 块并在控制台中打印 插入异常时出错 请联系管理员 在 catch 块中 我添加了它addActionError 我尝试在jsp页面中打
  • 如何为俚语和表情符号构建正则表达式 (regex)

    我需要构建一个正则表达式来匹配俚语 即 lol lmao imo 等 和表情符号 即 P 等 我按照以下示例进行操作http www coderanch com t 497238 java java Regular Expression D
  • Java按日期升序对列表对象进行排序[重复]

    这个问题在这里已经有答案了 我想按一个参数对对象列表进行排序 其日期格式为 YYYY MM DD HH mm 按升序排列 我找不到正确的解决方案 在 python 中使用 lambda 很容易对其进行排序 但在 Java 中我遇到了问题 f
  • Java TestNG 与跨多个测试的数据驱动测试

    我正在电子商务平台中测试一系列商店 每个商店都有一系列属性 我正在考虑对其进行自动化测试 是否有可能有一个数据提供者在整个测试套件中提供数据 而不仅仅是 TestNG 中的测试 我尝试不使用 testNG xml 文件作为机制 因为这些属性
  • 如何将 pfx 文件转换为 jks,然后通过使用 wsdl 生成的类来使用它来签署传出的肥皂请求

    我正在寻找一个代码示例 该示例演示如何使用 PFX 证书通过 SSL 访问安全 Web 服务 我有证书及其密码 我首先使用下面提到的命令创建一个 KeyStore 实例 keytool importkeystore destkeystore
  • 为什么HashMap不能保证map的顺序随着时间的推移保持不变

    我在这里阅读有关 Hashmap 和 Hashtable 之间的区别 http javarevisited blogspot sg 2010 10 difference Between hashmap and html http javar
  • 仅将 char[] 的一部分复制到 String 中

    我有一个数组 char ch 我的问题如下 如何将 ch 2 到 ch 7 的值合并到字符串中 我想在不循环 char 数组的情况下实现这一点 有什么建议么 感谢您花时间回答我的问题 Use new String value offset
  • Google App Engine 如何预编译 Java?

    App Engine 对应用程序的 Java 字节码使用 预编译 过程 以增强应用程序在 Java 运行时环境中的性能 预编译代码的功能与原始字节码相同 有没有详细的信息这是做什么的 我在一个中找到了这个谷歌群组消息 http groups
  • 如何从终端运行处理应用程序

    我目前正在使用加工 http processing org对于一个小项目 但是我不喜欢它附带的文本编辑器 我使用 vim 编写所有代码 我找到了 pde 文件的位置 并且我一直在从 vim 中编辑它们 然后重新打开它们并运行它们 重新加载脚
  • Android 中麦克风的后台访问

    是否可以通过 Android 手机上的后台应用程序 服务 持续监控麦克风 我想做的一些想法 不断聆听背景中的声音信号 收到 有趣的 音频信号后 执行一些网络操作 如果前台应用程序需要的话 后台应用程序必须能够智能地放弃对麦克风的访问 除非可
  • 捕获的图像分辨率太大

    我在做什么 我允许用户捕获图像 将其存储到 SD 卡中并上传到服务器 但捕获图像的分辨率为宽度 4608 像素和高度 2592 像素 现在我想要什么 如何在不影响质量的情况下获得小分辨率图像 例如我可以获取或设置捕获的图像分辨率为原始图像分
  • java.lang.IllegalStateException:驱动程序可执行文件的路径必须由 webdriver.chrome.driver 系统属性设置 - Similiar 不回答

    尝试学习 Selenium 我打开了类似的问题 但似乎没有任何帮助 我的代码 package seleniumPractice import org openqa selenium WebDriver import org openqa s
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview

随机推荐

  • constexpr 使用静态函数初始化静态成员

    要求 我想要一个constexpr值 即编译时常量 计算自constexpr功能 我希望这两个范围都限定在类的命名空间内 即类的静态方法和静态成员 第一次尝试 我首先以 对我来说 显而易见的方式写下这个 class C1 constexpr
  • 有没有办法以编程方式确定字体文件是否具有特定的 Unicode 字形?

    我正在开发一个生成 PDF 的项目 其中可以包含相当复杂的数学和科学公式 文本以 Times New Roman 格式呈现 它具有相当不错的 Unicode 覆盖率 但并不完整 我们有一个系统可以用更完整的 Unicode 字体来替换 TN
  • Big Query 作业失败,并显示“遇到错误字符 (ASCII 0)”。

    我的工作因错误而失败 行 14222274 字段 1 遇到错误字符 ASCII 0 文件的其余部分未处理 数据已被压缩 并且我已验证文件中不存在 ASCII 0 字符 文件中只有 14222273 行 因此错误消息中打印的行号是文件末尾之后
  • Windows 窗体解析问题

    我在 Windows 窗体中开发了 1024 780 分辨率的屏幕 但有人说它在更高分辨率下无法正常显示 有什么办法可以处理这个问题吗 有没有办法让 Windows 窗体应用程序在所有分辨率下看起来都一样 我的建议并不是在所有屏幕上 使其看
  • 使用 EPPlus 将图像添加到 Excel 中

    我正在尝试使用 EPPlus 将同一图像多次添加到 Excel 文件中 我正在使用以下代码来执行此操作 Image logo Image FromFile path ExcelPackage package new ExcelPackage
  • 如何在Excel中对日期进行排序而不重复

    早上好 我有一个关于 Excel 中日期排名的问题 请参见下图 在排名栏中 我用了公式 RANK A3 A A 1 但这不是我想要的 我只希望相同的日期共享与我的目标格式列中显示的相同的排名 谁能告诉我应该应用什么公式来实现这个目标 非常感
  • 蚂蚁为其他蚂蚁服务

    我有几个项目 其中大多数都有 test 目标 运行测试并将结果存储在属性中 测试失败 所有项目都位于同一目录中 大项目 someproject1 big project someproject1 build xml big project
  • Angular Fire Auth 后未收到响应

    使用 AngularFire 注册用户后 我没有收到响应 用户电子邮件出现在 Angular 的身份验证基础上 但登录行为空 并且似乎没有执行 console log 函数 这是我的代码 希望你能帮助我 谢谢 app controller
  • 有没有办法从实例中获取平台和操作系统

    我正在尝试从我的 AWS EC2 实例获取一些信息 我想知道是否有办法提取信息 例如 Platform Version CentOS 6 0 or 7 0 Ubuntu 10 04 or 12 04 Windows 我想知道使用 SDK 是
  • VBA Access - 在 Word 文档中查找和替换文本

    我已经在 Excel 中成功编写了一些 VBA 代码 该代码打开现有的 Word 文档 根据 Excel 工作表中的信息查找并替换字符串 由于存在的源数据来自 Access 数据库 因此我想尝试将 VBA 代码移至 Access 中并从那里
  • 在 Swift 中获取指向 C char 数组的指针

    A 有这样的结构 在 mongodb c 驱动程序的 bson h 中定义 typedef struct uint32 t domain uint32 t code char message 504 bson error t 在 Swift
  • Android 中如何在不通知的情况下更新通知?

    所以我有一个通过 MQTT 接收温度的应用程序 为了避免收到垃圾邮件通知 我希望应用程序通知一次 即振动 播放声音 然后接下来的三次 如果通知没有被忽略 它只会更新温度值 所以 Notify 更新温度 更新温度 更新温度 5 或 1 如果您
  • 数据库错误 MongoDB:数据库消失

    启动了大量的进程 然后重新启动服务器 数据库就消失了 当我走进rockmongo时 我还没有看到旧的数据库 只有一个新的数据库管理员 仅此而已 db serverStatus host host version 2 0 6 process
  • 如何更改 Spring.Net 中的配置

    IoC 容器的一个优点是您可以在对象图底部交换模拟服务 然而 这在 Spring Net 中似乎比在其他 IoC 容器中更难做到 下面是一些在 Unity 中执行此操作并具有 Spring Net 代码的代码 namespace IocSp
  • PHP IMAP 函数的解决方法?尝试使用 XAMPP 处理本地主机上的传入电子邮件

    在我现在正在处理的项目中 我正在尝试添加功能 当用户向支持台发送电子邮件时 我可以将票证状态从 已关闭 更改为 重新打开 我还想将他们的电子邮件回复保存到数据库中 我遇到的问题是我无法让 PHP 的 IMAP 函数在我当前的 Apache
  • Onsen UI 分页:导航器和选项卡栏

    我对混合导航器和标签栏有疑问 说明 主页 Main page1 由两个子页面 tab1和tab2 组成 通过tabbar访问 而其他页面 page2和3 通过导航器访问 tab1 页面是第一个激活的页面 布局 tab1 和 tab2 页面具
  • Struts2中启动过滤器时出现异常[重复]

    这个问题在这里已经有答案了 我在运行 struts 应用程序时遇到这个问题 这是我的web xml具有过滤器类和名称的文件 服务器响应说无法加载类
  • Common Lisp、asdf、测试、具有不同优化级别的编译系统

    我真正想要的是源内测试定义 假设我有一个 asdf 系统 defsystem simple system serial t components module src components file 0 package file 1 tes
  • PNG 文件验证

    我有一个 Flash Web 应用程序 它显示用户提交的 PNG 文件 文件在显示之前通过一些 API 上传到服务器 我想确保没有 坏 文件被提供给Flash 其中 坏 是完全不具体的 有没有办法根据 PNG 规范验证 PNG 文件 这会捕
  • 示例 Servlet 过滤器捕获并阻止请求可疑 URL 的 IP

    避免重新开发轮子 是否有任何 Java EE servlet 过滤器示例可以处理一些基本的安全检查 即 如果 Rootkit 攻击服务器 即 URL 以 exe 结尾或包含 则在一段时间内阻止 Web 请求 限制或阻止发出异常大量请求的 I