0

我注意到,即使作为匿名用户,在我第一次访问网页时也会创建一个 shiro 会话(并在我的情况下插入到我的数据库中)。成功登录后,会话记录会简单地更新为适当的属性。

现在我尝试使用以下命令对主页 URL 进行“压力测试”:

curl -s "http://myapp.com?[1-1000]"

当我计算创建的会话与循环一样多时,我的恐惧成真了。

所以这里的问题是,无论如何我可以避免网络爬虫或垃圾邮件发送者的会话创建泛滥吗?

4

2 回答 2

1

如果开发人员(或软件框架/库)尝试在这些页面上创建会话,则接受的解决方案将抛出异常(如预期的那样)。这通常是一件“好事”,因为它会在开发过程中暴露出意外的会话使用,确保开发人员(或您使用的 Web 框架)不会在不应该创建会话时创建会话。

如果您使用 JSP,您可能还需要设置

<%@ page session="false" %>

在 JSP 的顶部确保标记库或 Servlet 容器本身不尝试使用会话(您会惊讶地发现这种情况在您不知情的情况下发生的频率)。

于 2013-07-18T16:31:58.960 回答
1

这对我有用,只允许在登录时创建会话,耶:

/login = authc
/logout = noSessionCreation, logout
/** = noSessionCreation, anon
于 2013-07-16T11:56:33.027 回答