如果他成功登录并试图对我的网站造成伤害,我希望用户会话到期,如果我检测到攻击,我会将他重定向到错误页面,并希望将会话过期。如何制作它?
答案 0 :(得分:3)
会话有一个无效方法。
session.invalidate();
查看API
你可能想要做的不仅仅是注销用户;也许禁用帐户,记录事件等...
要使用户进入错误页面,您可以使用转发或重定向。如果有意义,你应该使用
response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Stop doing bad things");
结帐
http://download.oracle.com/docs/cd/E17802_01/webservices/webservices/docs/1.6/api/index.html
答案 1 :(得分:0)
你可以使他的会话无效,但这还不够。如果这就是你所做的一切,他可以立即再次登录以创建一个新会话。或者删除他的会话cookie并重新开始。
您还必须完全禁用或删除其帐户,或删除允许他执行您要阻止的任何操作的访问权限。 (在极端情况下,您可能还需要根据IP地址等开始阻止访问。)
但我怎么能阻止他回到他已经在的页面。
您无法阻止他使用“返回”,或从浏览器历史记录中重新输入网址,或者在导航栏中输入该网址。
您需要做的是阻止他从服务器获取页面。如果他没有登录,或者他没有相关的访问权限,则每当他尝试查看页面时,您的服务器都应以“未授权”或“权限被拒绝”状态代码进行响应...或执行其他请求不应该被允许。
不要仅仅依靠阻止他看到该页面。您还需要对可以从页面发出的请求实施服务器端访问控制。