奇安信 httpservletresponse.setcontenttype防止Javascript劫持示例
时间: 2023-09-04 10:10:54 浏览: 56
假设你的应用程序是基于Java Servlet技术的,你可以使用以下代码示例来设置响应头来防止JavaScript劫持:
```
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 设置响应内容类型
response.setContentType("text/html;charset=UTF-8");
// 禁止页面被嵌入到 <iframe> 或 <frame> 中
response.setHeader("X-Frame-Options", "DENY");
// 禁止浏览器将响应内容嗅探为其他类型
response.setHeader("X-Content-Type-Options", "nosniff");
// 启用跨站点脚本保护
response.setHeader("X-XSS-Protection", "1; mode=block");
// 禁止页面缓存
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
response.setHeader("Pragma", "no-cache");
response.setHeader("Expires", "0");
// 输出响应内容
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>防止JavaScript劫持示例</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>你好,世界!</h1>");
out.println("</body>");
out.println("</html>");
out.close();
}
```
在上面的代码示例中,我们设置了以下响应头来防止JavaScript劫持:
- `X-Frame-Options`:禁止页面被嵌入到 `<iframe>` 或 `<frame>` 中。
- `X-Content-Type-Options`:禁止浏览器将响应内容嗅探为其他类型。
- `X-XSS-Protection`:启用跨站点脚本保护。
- `Cache-Control`、`Pragma` 和 `Expires`:禁止页面缓存。