我有在Internet上运行的应用程序,它也包含一些管理模块。我不想让用户在Internet上访问我的管理模块。我希望来自Intranet的请求可以访问管理模块。有没有什么办法可以控制这个,而不需要开发一个提供管理组件的新应用程序验证请求源是否来自Internet或Intranet
1
A
回答
1
如果您正在使用servlet,则可以添加一个筛选器并分析客户端IP地址(请参阅this question)。
请注意,无法保证您会以任何方式确定正确的地址。
更好的方法是将此方法与某种认证(用户/密码,客户端证书等)结合使用。
如果可能,单独的应用程序也会更好。通过这种方式,您可以简化部署过程(应用程序运行在不同的端口等),并使其更容易扩展,因为您的管理和常规应用程序负载,安全性和可用性等极有可能具有不同的要求。
0
我不知道这是否会在你的情况下工作,但如果管理模块 在特定端口接受连接,你可以尝试关闭这个端口 你的路由器/网关(或任何用于连接内部互联网设置为 ),因此不允许外部任何人访问该模块。
0
从便携式Java角度来完成此任务的最简单方法是创建一个筛选器,检查IP地址和请求的URL。如果url是管理模块的一部分,并且IP是内部的,那么您继续链接。否则,你重定向或中止。
也就是说,Weblogic可能还有其他技术来完成这个任务。但是,看到您正在Weblogic服务器上运行此操作,我将假定这是一个企业级应用程序。在这种情况下,您可能需要考虑将其作为一个单独的模块出于安全目的和负载均衡。随着越来越多的用户访问您的应用程序,您需要有更多的服务器来处理负载。但是,您不可能需要相同的管理模块容量。因此,将管理模块作为自己的应用程序托管将允许您将其托管在一个内部应用程序服务器上,而应用程序本身则分布在较大的服务器场中。
最后,请记住,欺骗IP地址是相当容易的,所以除非您有其他形式的身份验证(例如:username/pwd,SSL证书交换等),否则您会将应用程序打开以显示某些重要信息安全漏洞。
只是在做出架构决策时需要考虑的事情。
0
什么是基础网络服务器?如果apache,使用.htaccess规则。
相关问题
- 1. 请求是否来自iframe?
- 2. 验证POST请求是否成功或未使用硒python
- 3. 如何验证请求是否来自您网站上的脚本?
- 4. 检测请求是否来自移动
- 5. Intranet与Internet应用程序中的校验和验证
- 6. 检查请求是否来自iOS上的webview或浏览器?
- 7. 资源请求验证,服务或业务层的责任?
- 8. 使用设备来验证HTTP请求
- 9. 如何验证oauth签名或请求?
- 10. 验证空请求
- 11. 验证请求sql
- 12. Laravel请求验证
- 13. GET请求来源
- 14. 快速自动验证Swagger API请求?
- 15. 来自clojure的http请求的摘要式验证(?)
- 16. 访问来自验证器内部的请求参数
- 17. 如何验证请求来自有效页面,节点
- 18. [django]:如何验证来自邮件的新帐户请求?
- 19. 来自AJAX的表单身份验证和POST请求
- 20. MVC自定义授权属性来验证请求
- 21. 如何验证请求来自PHP中的某个网关?
- 22. 如何验证来自某个域的API请求?
- 23. 为来自web.config文件的http请求配置身份验证
- 24. 如何验证请求来自特定的Web应用程序
- 25. 缓存控制:必须重新验证是否需要验证所有请求,或只是过时的?
- 26. 转换请求到自定义验证请求
- 27. 恶意请求检测/验证请求
- 28. 发送HTTP请求(验证请求)
- 29. POST请求 - 跨来源请求阻止
- 30. Internet Explorer ajax请求未经过身份验证
你可能想看看:http://stackoverflow.com/questions/9092376/identify-if-request-is-coming-from-local-network-intranet – Samba
@Samba - 有可能很好是一个weblogic特定的解决方案。但无论哪种方式,C#/ ASP.NET解决方案都无济于事。 –