Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建注销,以便在JSP中不会发生后退操作_Jsp_Ssl_Logout_No Cache - Fatal编程技术网

创建注销,以便在JSP中不会发生后退操作

创建注销,以便在JSP中不会发生后退操作,jsp,ssl,logout,no-cache,Jsp,Ssl,Logout,No Cache,我想在JSP中创建一个注销操作,这样就不会有后退操作。目前,我正在使用session.invalidate方法终止我现有的会话并指向登录页面 但是,如果用户按下后退按钮,这并不能阻止页面加载。在搜索之后,我了解到类似SSL的东西正用于此目的。谁能告诉我什么是SSL(除了它的完整形式:)(安全套接字层))?它是如何使用的 除此之外,经过多次搜索,我找到了这段代码 <% response.setHeader("Cache-Control","no-cache"); //HTTP 1.1 res

我想在JSP中创建一个注销操作,这样就不会有后退操作。目前,我正在使用session.invalidate方法终止我现有的会话并指向登录页面

但是,如果用户按下后退按钮,这并不能阻止页面加载。在搜索之后,我了解到类似SSL的东西正用于此目的。谁能告诉我什么是SSL(除了它的完整形式:)(安全套接字层))?它是如何使用的

除此之外,经过多次搜索,我找到了这段代码

<%
response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
%>

我将此代码保留在body标签的开头,但它不起作用。可能是什么错误?我甚至试过用“无存储”代替“无缓存”?有人能帮我做更多的修改吗?我应该把特定的代码保存在哪里? 除此之外,还有其他解决方案吗


提前感谢。

缓存控制头不完整。它还必须包含
无存储
,并且
必须重新验证

response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
另见:
请注意,需要在每个需要登录的请求上设置这些标题。更简单的方法是使用一个servlet过滤器,这样就不需要在所有JSP页面上复制粘贴同一段代码。上述链接包含一个具体示例。如果您有登录用户,您可以在检查登录用户的同一过滤器中执行此操作。无论如何,在JSP文件中编写Java代码是一项艰巨的任务

SSL(Read:HTTPS而不是HTTP)只用于防止中间人攻击,其中整个HTTP流量被一些恶意代理、路由器、病毒或网络流量中的某个东西捕获和读取。任何潜在的敏感信息(如提交的登录数据和检索到的响应)都会以明文形式显示给攻击者。SSL将加密此流量,使攻击者无法读取。它与缓存和身份验证无关。SSL将在服务器级别配置,而不是在webapp级别配置。有关详细信息,请阅读服务器文档。例如,对于Tomcat 7.0.x.

非常感谢。:)但是我没有理解scriptlet不可重用和scriptlet不抽象这两点。请你也解释一下好吗?