发现可高速缓存的登录页面
【问题描述】采用IBM Appscan进行扫描测试,发现可高速缓存的登录页面,给出的修改建议为:
【解决方法】
1、首先简单了解下HTTP通用信息头中的Pragma的含义:
Pragma头字段的设置值只能固定为no-cache,即Pragma:no-cache。当Pragma头字段用于响应消息时,指示HTTP1.0客户端不要缓存文档;当用于请求消息时,指示代理服务器必须返回一个最新的文档,而不能用缓存的文档。一些HTTP1.0的浏览器对这个头字段的支持不是非常可靠,因此,人们过去常常使用取值为0的Expires头字段来实现同样功能。在HTTP1.1中,使用Cache-Control头字段的no-cache设置值是一样比Pragma更为可靠的实现。
2、解决方法:
通过在登录页面中新增<meta http-equiv=〞Pragma〞,content=〞no-cache〞>,并在登录后台代码中新增以下信息:
// 浏览器端不缓冲页面
httpResponse.addHeader("Cache-Control", "no-cache");
httpResponse.addHeader("Pragma", "no-cache");
httpResponse.addDateHeader("Expires", 0);