我注意到,即使是匿名用户,在我第一次访问网页时,也会创建一个shiro会话(并在我的情况下插入到我的数据库中)。成功登录后,只需使用适当的属性更新会话记录。
现在我尝试用'压力测试'主页面网址:
curl -s "http://myapp.com?[1-1000]"
我的恐惧实现了,因为我认为创建的会话和循环一样多。
所以这里的问题是,无论如何我可以避免网络爬虫或垃圾邮件发送者创建会话?
答案 0 :(得分:1)
这适用于我,只允许在登录时创建会话,yayy:
/login = authc
/logout = noSessionCreation, logout
/** = noSessionCreation, anon
答案 1 :(得分:1)
如果开发人员(或软件框架/库)尝试在这些页面上创建会话,则接受的解决方案将抛出异常(如预期的那样)。这通常是一件“好事”,因为它会在开发期间暴露意外的会话使用,确保开发人员(或您使用的Web框架)在不应该创建会话时不会创建会话。
如果你正在使用JSP,你也可能想要设置
<%@ page session="false" %>
在JSP的顶部,以确保标记库或Servlet容器本身不会尝试使用会话(您会惊讶地发现这种情况经常发生在您不知情的情况下)。