2020-10-20 22:36
@HAIV 本身是可以的,去掉那个 UrlSeoHandler 配置即可
没有使用 detail 是因为可以让 url 短一点,搜索引擎收录的时候权重会高一点,当然,这个也是没有经过验证的一个说法,权重主要还是看内容本身
2020-10-20 17:24
@四零四 扩展 underotw 的 handler 解决一下试一试, jfinal undertow 提供了相应的扩展接口:
https://jfinal.com/share/2066
2020-10-20 16:37
@四零四 我看了看 http host 头攻击的相关资料,这个一般是通过配置 nginx 解决:
https://blog.csdn.net/u012903926/article/details/81702224
根本上来说,如果你的项目中没有使用 request.getHost() 这个值,是不会有害的,如果使用了,就要防一防
在 jfinal 之下,可以通过一个 handler 来处理一下,大致办法如下:
public class HostCheckHandler extends Handler {
static String host = PropKit.get("server.host");
public void handle(String target, HttpServletRequest req, HttpServletResponse res, boolean[] isHandled) {
if ( ! host.equals(req.getHost()) ) {
RenderKit.render404(...);
} else {
next.handle(req, res, isHandled);
}
}
}
注意上面的 host 属性从配置文件中来,你需要事先配置一个 server.host,在开发的时候,你可以配置成 localhost 就可以了
注意解决后来反馈一下
2020-10-20 15:58
要对 SSL 的机制有个大概的了解,不用太深
你要解决 ssl 认证的问题,关键在于 SSLContext 的使用,SSLContext.init(...) 方法的前两个参数 init(KeyManager[] km, TrustManager[] tm),其中:
1:第一个参数是由该应用本身的证书加载而来的
2:第二个参数是该应用可以信任的客户端证书相关的文件加载而来的
我举个例子,你的 jfinal undertow 项目,默认是信任所有客户端的,所以第二个参数为 null。
当第二个参数为是 null 的时候,在客户端发起请求的时候就会根据这个参数来验证客户端是不是可以访问
2020-10-20 15:47
@四零四 http host头攻击是如何实施的,有什么破坏后果,jfinal undertow 是不是天然免疫了?
异常是什么,我想了解更多信息,好解决问题