2021-03-31 19:36

不好意思,原因终于找到了,和jfinal没有一毛钱关系,是我在配置nginx是没有配置$args参数,太失败了,搞了一整天。

2021-03-31 16:24

不好意思,补充一点,我刚才把这个handler去掉了,然后再部署到服务器上,发现还是没法获取到querystring,也就是说应该和这个handler没有关系,那么到底是啥原因呢?这个小问题已经困扰了一天了

2020-10-31 17:28

@zzutligang @JFinal 感谢两位周末还给予及时的回复,这个也是我喜欢jfinal的原因之一,技术支持的速度超快!

2020-09-23 10:57

好像我这里也没有啥影响,据说有些网站受攻击后,什么溢出之类的问题导致网站宕机,或者数据乱掉之类的吧,undertow这方面还是很强大的啊。

2020-09-20 11:20

@JFinal 波总,针对这个问题,我查了很多资料,最终觉得还是cookie攻击,解决方法只有通过nginx 防火墙了。在此记录一下,期待以后有人提供更好的方法。
我写的防火墙代码如下:
local ck_list=split2(request_header['cookie'],';')
if ck_list and #ck_list>200 then
write_log('cookie','数量超过200')
return true
end

2020-09-16 08:36

@JFinal 波总,我观察了几天,异常数量没有下降,然后写了一个全局拦截器,但是好像超过200个cookie的时候,undertow直接报错了,没有进入拦截器。
这个问题有啥好的方法吗?是否需要更改undertow 的配置?再次感谢。
代码如下:
Cookie cookies[]=c.getCookieObjects();
logger.info("垃圾cookie数量="+cookies.length);
for(Cookie cookie:cookies){
String name=cookie.getName();
if(!LoginService.sessionIdName.equals(name)){
c.removeCookie(name);
logger.info("删除垃圾cookie ="+ JSONObject.toJSONString(cookie));
}
}

2020-09-13 15:38

@JFinal 感谢波哥周末深夜回复!!我依法测试一下。再次感谢。

2020-09-12 19:54

不好意思,问题还是没有解决。我把所有可能会产生cookie的代码都给关闭了。但是服务器的log还是一堆一堆的cookie超200的异常。
我反复百度了,只找到一个可能有用的线索,如下:
再次重新审视这一点,我发现,它似乎是一种确定的安全措施。

起初我认为,在特定的时间范围内,只能生成有限数量的cookie,但情况并非如此。如果攻击者试图通过向请求发送大量cookie来攻击您的Web服务器,则会抛出此异常,可能导致缓冲区溢出。

@JFinal 请教波哥,您是否觉得这个是某些攻击?或者有啥好的解决办法吗?谢谢。

2020-09-11 13:28

请教波哥,你这些Cookie怎么查看的?我用F12,只看到了hm.js有些cookie,其他的都没有发现有cookie,再次感谢。

2020-09-11 10:39

谢谢,这一块我不太熟悉,印象中只是在分享的时候用到了百度分享,其他地方都没有用cookie,我再看一下代码吧。再次感谢。

2020-05-26 19:42

太赞了,楼主有时间再整一个前后端分离的版本吧

2020-05-10 10:11

@一川死水 发现一个小bug,这一行是不是有点问题
user.put("expireAt", session.getId());