我正在开发一个Windows应用程序,使用Eclipse,Tomcat服务器和Struts2。我正在使用 LDAP 验证登录。
我只想允许特定的人查看我的应用程序,即IP为173.12.12.12的人可以查看它,而173.12.12.72不应该。
我应该怎么做?
此外,如果有人输入被禁用的ID,则应用程序不应再在其终端上运行。我应该怎么做?
-
如果您想在 Web 应用程序中(例如在数据库上)处理您的 IP 地址白名单,您可以通过从请求中读取
X-Forwarded-For
HTTP 标头来检测用户的 IP 地址服务器端。 -
如果要在应用程序服务器(在本例中为 Tomcat)中处理 IP 地址白名单,则必须在
context.xml
(源)中放置一个 RemoteAddrValve。
这两种方法都有效,但在 IP 欺骗的情况下都无法检测到真实 IP。恶意用户欺骗自己的IP地址是幼稚的,例如使用CURL,或者使用Firefox AddOn(如anonymoX)。
您不应该依赖 IP 地址来保护您的系统。但是,您可以使用它们来增强经过身份验证的受信任用户的用户体验...一旦他们进入,你可以假设他们不是恶意的,并开始通过IP分析他们的设备以提供有针对性的功能。
如果它是一个 IP 范围,请从属性文件中获取 IP 值并对其进行验证。如果是单个值,请从分配给用户的数据库中获取该值并对其进行验证。