仅允许特定 IP 地址访问 JSP 文件/文件夹

2024-04-08

我使用 JSP 和 servlet 制作了一个 CMS 应用程序。我没有使用任何类型的框架。 CMS 有 2 个部分:

  1. 前端
  2. 管理员(后端)

如果我把它托管在www.example.com,例如,那么我的所有前端站点都会向所有用户显示。

But www.example.com/admin必须可以从几个 IP 地址访问。并非来自所有用户。

我找到了这些链接:

  • link 1 http://www.jguru.com/faq/view.jsp?EID=445942
  • link 2 http://middlewaremagic.com/jboss/?p=494
  • 堆栈溢出链接 https://stackoverflow.com/questions/3381531/tomcat-restrict-access-by-ip-address

链接 1 看起来有点混乱,链接 2 看起来不错,但我没有使用 JBoss。

在 Stack Overflow 链接中他们没有提到如何使用它。


据我从你的问题中了解到,你使用Apache Tomcat作为网络服务器。在这种情况下使用远程地址过滤器 http://tomcat.apache.org/tomcat-7.0-doc/config/filter.html#Remote_Address_Filter通过IP地址限制访问。它允许将请求客户端的 IP 与正则表达式进行比较,以根据比较结果允许或阻止请求。

如果你使用Tomcat 7 http://tomcat.apache.org/tomcat-7.0-doc/你需要使用类远程地址过滤器 http://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/filters/RemoteAddrFilter.html并在应用程序的配置文件中定义必要IP的正则表达式web.xml:

<filter>
   <filter-name>Remote Address Filter</filter-name>
   <filter-class>org.apache.catalina.filters.RemoteAddrFilter</filter-class>
   <init-param>
      <param-name>allow</param-name> <!-- or deny -->
      <param-value>10\.10\.1[12]\..*</param-value> <!-- regexp for your ip adress -->
   </init-param>
</filter>
<filter-mapping>
   <filter-name>Remote Address Filter</filter-name>
   <url-pattern>*/admin</url-pattern> <!-- the url of your admin page -->
</filter-mapping>

您可以使用硬编码的特定 IP 地址或正则表达式模式。但在某些情况下,正则表达式为您在地址验证方面提供了很大的灵活性。

如果你使用6 http://tomcat.apache.org/tomcat-6.0-doc/ or 5 http://tomcat.apache.org/tomcat-5.5-doc/您需要使用类的 Tomcat 版本远程地址阀 http://tomcat.apache.org/tomcat-6.0-doc/api/org/apache/catalina/valves/RemoteAddrValve.html并在 Tomcat 的配置文件中定义以下行server.xml:

<Valve className=”org.apache.catalina.valves.RemoteAddrValve” allow=”10\.10\.1[12]\..*”/> 

or

 <Valve className="org.apache.catalina.valves.RemoteAddrValve"
    deny="86.57.158.37, 213.117.195.*, 124.86.42.*" /> 

有关更多信息.

以及有趣的文章使用 Tomcat 保护管理 Web 应用程序 http://thelowedown.wordpress.com/2010/08/07/tomcat6-securing-the-administrative-webapps/.

顺便说一句,不拒绝来自的请求很方便localhost供测试用。所以添加是有意义的127\.0\.0\.1您允许的 IP 地址范围。

但不要忘记,在某些情况下,可以使用代理服务器来绕过 IP 封锁。还应用登录身份验证以获得更好的安全性。

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

仅允许特定 IP 地址访问 JSP 文件/文件夹 的相关文章

随机推荐

  • 为什么我的执行计划中出现了排序?

    我下面的 sql 查询运行速度非常慢 我查看了执行计划 它声称对 Files OrderId 进行排序是成本最高的操作 53 如果我没有在任何地方通过 OrderId 订购 为什么会发生这种情况 我最好的选择是在 File OrderId
  • 使用 cql 从 python 插入到 cassandra

    我计划将数据插入到具有复合键的波纹管 CF 中 CREATE TABLE event attend event id int event type varchar event user id int PRIMARY KEY event id
  • 如何检查哪个 Django 中间件是同步的还是异步的?

    我正在使用 Django 3 1 我想看看是否可以使用 async 来处理我的 webhook 以便提供更快的响应 From 异步视图 https docs djangoproject com en 3 1 topics async asy
  • 为什么map任务总是运行在单节点上

    我有一个具有 4 个节点的完全分布式 Hadoop 集群 当我将作业提交给 Jobtracker 时 Jobtracker 认为 12 个映射任务对我的工作来说很酷 但奇怪的事情发生了 这 12 个映射任务始终在单个节点上运行 而不是在整个
  • 计算持续时间

    我有一个小的android问题 我需要一个计时器来计算从特定活动打开到单击该活动中的某个按钮的持续时间 即活动打开的时间 在谷歌搜索时 我发现了 TimerTask 但这似乎只在一定的时间间隔内运行一个线程 从我的 Android 经验来看
  • 带两个参数的 Matplotlib 颜色图

    我试图代表两个变量x and y在地图上使用颜色 到目前为止 我能达到的最好效果是对一个变量使用颜色 对另一个变量使用透明度 plt Polygon shape points fill False color cmap y alpha x
  • 缺少 CrudRepository#findOne 方法

    我在我的项目中使用 Spring 5 直到今天还有可用的方法CrudRepository findOne https docs spring io spring data commons docs current api org sprin
  • scala集合循环缓冲区

    只是在这里用循环缓冲区搞乱 这是一个明智的实现 还是有更快 更可靠的方法来给这只猫剥皮 class CircularBuffer T size Int implicit mf Manifest T private val arr new s
  • 一个得到良好支持的 C++ 联合替代方案?

    我认为联合对于我的想法来说是完美的 特别是当我认为我的代码应该在真正异构的机器系列上运行时 特别是低功率机器上 让我烦恼的是创建编译器的人例如 似乎不太关心引入和提供良好的工会支持这张桌子 http wiki apache org stdc
  • 在编辑文本中输入内容时,列表视图上的过滤器会消失列表项

    我遇到了一个奇怪的问题 实际上 我有一个自定义列表视图 在其中使用过滤器 一切正常 但是当我输入文本进行编辑文本时 它会消失所有列表项 我很奇怪为什么这种情况会发生在我身上 但我仍然不是 Android 的冠军 所以需要一些帮助 我在 st
  • 有没有比使用箭头键更快的替代方法?

    我经常使用 R 进行编码 我刚刚意识到将手向下移动到箭头键 然后再回到键盘上的字母是多么痛苦 在 Rstudio 中 我必须定期执行此操作 因为工作室会自动完成某些语法 例如括号和引号 然后我必须按箭头键移出括号 或引号 然后删除任何可能的
  • 如何使用 logit 函数编写 JAGS 二项式模型文件

    我正在做一项作业 使用 JAGS 对二项式分布进行建模p参数是另一个变量的函数d 这就是我正在尝试做的 为两个参数 alpha beta 从后验生成 10000 个样本 当 dist 25 进行 100 次尝试时 根据后验预测成功次数生成样
  • 如何使滑块离散?

    如何在 Flutter 中使滑块离散如上图所示 滑块离散 https i stack imgur com e2gp6 png Use the divisions的财产Slider https docs flutter io flutter
  • 使用curl和php发送POST数据

    Greets 因此 我在 Amazon EC2 上运行 Fedora Core 8 我安装了 httpd php5 和 libcurl 以及一堆其他东西 似乎工作得很好 但后来我意识到 POST 数据不是由我的 php 脚本中的curl 发
  • get_data_yahoo(pandas_datareader) 中 1m 间隔的问题

    I wrote from pandas datareader import data as pdr import yfinance as yf data pdr get data yahoo AAPL start 2020 04 12 en
  • (111)连接被拒绝 - Apache 反向代理和 Tomcat 8.5.51 - Docker Compose

    这适用于 Tomcat8 5 50 但是 使用 Tomcat8 5 51 Apache 无法通过 AJP 连接 出现以下错误 Tue Mar 10 20 15 31 378937 2020 proxy error pid 42 tid 13
  • 使用 Solver、EXCEL 时保存目标函数值

    我在 Excel 中设置了一个优化问题 当我优化 使用 GUI 时 我得到目标函数的最终 最佳 值 我可以看到 Excel 计算了很多点的目标函数值并确定了最佳点 有没有办法将所有目标函数值保存到 Excel 工作表中的某个范围 如果我可以
  • 我可以限制通过 JavaScript API 放入 S3 的对象的大小吗?

    可以使用 JavaScript API 将对象上传到 S3 并且可以使用 IAM 策略进行细粒度授权 例如 请参阅此政策 Version 2012 10 17 Statement Action s3 PutObject s3 PutObje
  • 当下游正在运行时阻止上游詹金斯作业

    我知道构建阻止程序插件 但似乎不起作用 运行詹金斯 1 609 作业 A 触发作业 B 我将作业 A 配置为在作业 B 正在运行时阻止 如果您触发 A 并且在 A 运行时再次触发 A 一旦第一个 A 完成 它就会触发 B 然后您就会同时运行
  • 仅允许特定 IP 地址访问 JSP 文件/文件夹

    我使用 JSP 和 servlet 制作了一个 CMS 应用程序 我没有使用任何类型的框架 CMS 有 2 个部分 前端 管理员 后端 如果我把它托管在www example com 例如 那么我的所有前端站点都会向所有用户显示 But w