2020-10-20 16:49

@JFinal 并没有,我其实是想通过注册自定义的httphandler去处理,而不是改掉你们源码这种方式的,这个只能是没方案的方案。@SuperEric 或者你有更好的方案么?

2020-10-20 16:41

@JFinal 我们项目没有用到nginx ,然后,你说的handler,我文中有提到过,如果host被改掉,是不会进入到handler这层的,经过httphandler后就跳转了

2020-10-20 16:06

@JFinal 正如我文中的第一个截图,用户输入的url是我网站服务的url,然后被别人改掉了请求头host,把host改为了知网的网址,然后页面显示的是知网的登录页,而不是我网站的登录页,基于这种情况,第三方可以伪造我的登录页来获取用户的登录信息。从模拟请求来看,跳转的页面是来自知网的,所以jfinal undertow 未能拦截这种漏洞。

2020-10-20 14:14

@JFinal 非常感谢,之前我不知道如何添加filter,看了文章知道了,但依然无法解决这个问题

2020-10-20 14:11

@SuperEric 我重新编辑了反馈内容,你看看是否明白?有点乱

2020-10-20 12:42

@SuperEric 代码有点多,这里不能发截图,你有邮箱么?我可以直接发邮件给你吗?如果不可以,你回复我一下我在这里贴出来,就是会有点乱

2020-10-20 11:01

@SuperEric 如果是Tomcat可以用filter拦截,但对于undertow不熟悉,我目前只知道请求的时候会进入PathHandler,有没有办法注册与PathHandler同等级的handle,来拦截每个请求进行host检测?就是不改PathHandler,直接添加另外一个请求可以触发的handle,是怎么添加呢?我尝试了在启动类注册com.jfinal.handler.Handler子类,但这种host篡改的请求进入不了这层handler,我再次尝试添加io.undertow.server.HttpHandler实现类,但请求的时候没能像PathHandler那样被调用,不知道如果让请求也进入我新添加的这个实现类

2020-10-17 15:13

@JFinal 应该是undertow ,我们项目用了undertow和JFinal框架,怎么处理http host攻击漏洞呢?