获取cookie
private String getCookie(HttpServletRequest req, String cookieName) {
String cookievalue = req.getHeader("Cookie");
if (ObjectUtils.isEmpty(cookievalue))
return "";
String[] cookies = cookievalue.split(";");
for (String cookie : cookies)
if (cookie.trim().contains(cookieName))
return cookie.trim().substring((cookieName + "=").length());
return "";
}
清空cookie
private void clearCookies(HttpServletRequest request, HttpServletResponse response, String[] cookieNames)
{
Cookie[] cookies = request.getCookies();
if (cookies == null)
return;
for (Cookie c : cookies)
if (ArrayUtils.contains(cookieNames, c.getName())) {
log.info("----------------【CasSecurityInterceptor >> clearCookies: request="+request+",cookieNames="+c.getName()+"】---------");
Cookie cookie = new Cookie(c.getName(), "");
cookie.setDomain(".paic.com.cn");
cookie.setPath("/");
cookie.setMaxAge(0);
cookie.setSecure(true);
response.addCookie(cookie);
}
}
//退出时候的清空cookie
@RequestMapping(value = "/logout", method = RequestMethod.GET)
public String logout(ModelMap model, HttpServletRequest request,
HttpServletResponse response) {
HttpSession session = request.getSession(true);
if (session != null) {
session.invalidate();
}
Cookie[] cookies = request.getCookies();
for (int i = 0; i < cookies.length; i++) {
if ((cookies[i].getName()).equals("SMSESSION")) {
Cookie cookie = new Cookie("SMSESSION", "");
cookie.setDomain(".paic.com.cn");
cookie.setPath("/");
cookie.setMaxAge(0);
response.addCookie(cookie);
}
if ((cookies[i].getName()).equals("PASESSION")) {
Cookie cookie = new Cookie("PASESSION", "");
cookie.setDomain(".paic.com.cn");
cookie.setPath("/");
cookie.setMaxAge(0);
response.addCookie(cookie);
}
if ((cookies[i].getName()).equals("flag")) {
Cookie cookie = new Cookie("flag", "");
cookie.setDomain(".paic.com.cn");
cookie.setPath("/");
cookie.setMaxAge(0);
response.addCookie(cookie);
}
}
return "logout";
}
分享到:
相关推荐
由于它们不遵循浏览器的隐私策略,即使用户选择清空浏览器Cookie,FlashCookie仍然存在,这使得它们成为一种强大的用户跟踪工具。 然而,这种特性引发了一些隐私和安全问题。因为用户可能不清楚这些FlashCookie的...
本篇文章将详细讲解两种在ASP.NET中清空Cookie的方法。 ### 方法一:设置Cookie过期时间 第一种方法是通过设置Cookie的过期时间使其立即失效。这涉及到修改Cookie的`Expires`属性,将其设置为一个已经过去的时间点...
2. **设置Cookie**:当用户登录成功后,通常会从服务器端获取到一些Cookie信息,这时我们需要将这些Cookie信息存储到前面创建的`CookieContainer`对象中。 3. **使用Cookie进行后续请求**:在接下来的HTTP请求中,...
Vue中设置、获取、删除cookie的方法主要包括在Vue项目中通过编写相应的JavaScript函数来操作cookie,以下是详细的知识点。 1. cookie的基本原理和用途 Cookie是一种小型文本文件,由网站服务器发送至用户的浏览器并...
首先,我们需要了解为何要在用户登录后清空Cookie。通常情况下,Cookie用于存储临时性的用户数据,如浏览历史、偏好设置等。在用户登录后,这些数据可能不再适用,或者为了安全考虑,我们需要移除这些信息,确保用户...
首先,你需要初始化`CookieManager`,启用第三方cookie支持,并清空旧的cookie存储。 ```java CookieManager cookieManager = CookieManager.getInstance(); cookieManager.setAcceptThirdPartyCookies(webView, ...
这个过程涉及获取Session,检查其存在性,清空Session数据,以及可能的Cookie清理和页面重定向。不同编程语言中实现这一功能的方法有所不同,但核心思想是一致的。通过掌握这些知识,开发者可以更好地保护用户隐私,...
5. **获取购物车内容**:此方法用于获取当前购物车中的所有商品,解析Cookie数据并返回一个包含商品ID和数量的数组。 6. **计算总价**:购物车类还需要提供一个方法来计算购物车内所有商品的总价,这涉及到读取商品...
通过`cookie.get(name)`,我们可以获取指定名称cookie的值。如果cookie不存在,该方法将返回`null`。 3. **删除Cookie**: 要删除一个cookie,可以使用`cookie.remove(name, [options])`。这会设置cookie的过期...
在Web开发中,数据存储是不可或缺的一部分,jQuery提供了一些便捷的方法来访问和操作浏览器的本地存储,包括cookie、localStorage和sessionStorage。这三个机制都用于在客户端存储数据,但它们各有特点和适用场景。 ...
在上面的代码中,我们首先使用`request.getCookies`方法获取所有的cookie,然后遍历每个cookie,并使用`new Cookie`方法创建一个新的cookie对象,并将其名称设置为“bbs_0001”,值设置为`null`。然后,我们使用`...
此方法用于从当前页面的Cookie中获取指定名称的Cookie值。它首先通过 `indexOf` 方法查找目标Cookie的起始位置,然后计算其结束位置,最后通过 `substring` 方法提取出该Cookie的值。 ### 二、购物车操作逻辑 ####...
- `Request.Cookies["商品ID_1"]` 获取Cookie值。 总的来说,Cookie在实现购物车功能时提供了一种简单且实用的方法,但同时也存在一些限制和潜在的安全风险。开发者在实际应用中应根据需求和场景选择合适的技术来...
要读取Cookie,通过HttpServletRequest的getCookies方法获取Cookie数组,然后遍历查找需要的Cookie。 6. **检测初访者**:通过检查HttpServletRequest的getCookies方法返回的Cookie数组,看是否存在特定的标识...
5. 清空所有数据: ```javascript localStorage.clear(); ``` 需要注意的是,localStorage的数据只存在于本地浏览器,不会跨域共享,而且用户可以在浏览器的开发者工具中查看和清除这些数据。 总结来说,Cookie...
5. **结账处理**:在用户准备结账时,将Cookie中的数据转移到更安全的地方,如数据库,并清空购物车Cookie。 **安全与优化** 在实际应用中,应考虑以下几点: 1. **加密数据**:对存储在Cookie中的数据进行加密,...
// 获取当前 Session ID $sessionId = session_id(); // 锁定 Session 文件 session_write_close(); // 释放 Session 变量并销毁 foreach ($_SESSION as $key => $value) { unset($_SESSION[$key]); } session_...
在描述中提到的“session登录练习使用解决null显示问题”,可能是由于在处理Session时,没有正确地初始化或者在某些情况下Session被清空,导致获取Session数据时出现null值。 为了解决这个问题,我们可以: 1. **...
- 获取:通过 `document.cookie` 获取所有键值对,结果是一条字符串,需要用解析函数处理。 - 设置过期时间:通过在键值对后面添加 `expires` 参数来指定有效期。 - 删除:通过设置过期时间为过去时间来删除。 例如...