主要防止非法用户修改cookie信息,以及cookie的超时时间

传统cookie存储,Cookie(name, value),value很容易就被篡改。

防修改cookie存储,Cookie(name, value+“&&”+ signToken+“&&”+saveTime+“&&”+maxTime)

signToken :签名密钥 由md5(value+saveTime+maxTime+”自定义密钥“)生成

saveTime:cookie创建时间

maxTime:cookie超时时间

设置Cookie

public static void put(HttpServletResponse response, String key, String value, int maxTime) {

String pwdKey = "white_yu"; //自定义密钥

String saveTime = System.currentTimeMillis() + "";

String signToken = md5(pwdKey, saveTime, maxTime + "", value);

String cookieValue = signToken + "&&" + saveTime + "&&" + maxTime

+ "&&" + value;

Cookie cookie = new Cookie(key,cookieValue);

cookie.setMaxAge(maxTime);

response.addCookie(cookie);

}

获取Cookie

public static String getCookie(String cookieValue) {

String pwdKey = "white_yu"; //自定义密钥

if (StringUtils.isNotBlank(cookieValue)) {

String cookieStrings[] = cookieValue.split("&&");

if (null != cookieStrings && 4 == cookieStrings.length) {

String signToken = cookieStrings[0];

String saveTime = cookieStrings[1];

String maxTime = cookieStrings[2];

String value = cookieStrings[3];

String sign = md5(pwdKey, saveTime, maxTime, value);

// 保证 cookie 不被人为修改

if (sign.equals(signToken)) {

long stime = Long.parseLong(saveTime);

long maxtime = Long.parseLong(maxTime) * 1000;

// 查看是否过时

if ((stime + maxtime) - System.currentTimeMillis() > 0) {

return value;

}

}

}

}

return null;

}

Java伪造cookie登录_Cookie防伪造防修改相关推荐

  1. JAVA——保持cookie登录状态的HttpClient封装工具类

    在日常开发中,我们经常需要通过http协议去调用网络内容,虽然java自身提供了net相关工具包,但是其灵活性和功能总是不如人意,于是有人专门搞出一个httpclient类库,来方便进行Http操作. ...

  2. php cookie防伪造,技术分享:Cookie 防伪造 防修改

    原标题:技术分享:Cookie 防伪造 防修改 主要防止非法用户修改cookie信息,以及cookie的超时时间 传统cookie存储,Cookie(name, value),value很容易就被篡改 ...

  3. ASP.NET MVC 使用防伪造令牌来避免CSRF攻击

    本文转自这篇文章 XSRF即在访问B站点的时候,执行了A站点的功能.  比如:  A站点登录后,可以修改用户的邮箱(接口:/Email/Modify?email=123),修改邮箱时只验证用户有没有登 ...

  4. java频繁查询数据库_如何解决Cookie登录 频繁查询数据库问题?

    实现所谓的无状态,使用Cookie认证的话,不用session岂不是每次都要重新认证查一下数据库? 我的具体实现是 定义 一个秘钥 key="随机"; user_profile表 ...

  5. 通达OA 11.5 以下版本 前台任意伪造用户登录登录绕过漏洞在线实验

    转载自:[通达OA < 11.5 前台任意伪造用户登录登录绕过漏洞利用] - https://store.vsplate.com/cn/post/518/ 实验地址:https://www.vs ...

  6. 银行登录控件仿制--防钩子,防嗅探

    银行登录控件仿制--防全局钩子,防嗅探 类似于支付宝登录控件.工商.招商银行登录控件,这个是一个DLL钩子,用于注入其他进程 另外有一个控件,用来模拟INPUT控件,近期发布! 变量定义 unit h ...

  7. JAVA毕业设计HTML5“牧经校园疫情防控网站”设计与实现计算机源码+lw文档+系统+调试部署+数据库

    JAVA毕业设计HTML5"牧经校园疫情防控网站"设计与实现计算机源码+lw文档+系统+调试部署+数据库 JAVA毕业设计HTML5"牧经校园疫情防控网站"设计 ...

  8. 2020/7/27 - [watevrCTF-2019]Cookie Store - 伪造cookie

    一开始还以为这是一个很难的题目,没想到就是一个简单的COOkIe伪造. 1.伪造cookie 根据他的题目提示,这可能是一道伪造cookie的题,所以先用burpsuIte进行抓包. 买这个一块钱的先 ...

  9. java防重防频繁工具

    一.引言 开发过程中有些接口的跑动比较耗时耗资源,比如计算销售手底下所有门店的商品,点击过于频繁就会导致大量资源消耗,因此博主在项目中封装了一套防重防频繁的工具. 由于是分布式,所以需要依赖redis ...

最新文章

  1. .data和.text段合并
  2. 前端笔记(9)元素的隐藏与显示,css用户界面样式,vertical-align垂直对齐,溢出文字省略号显示,css精灵技术,过渡,焦点,滑动门,margin负值
  3. 如何在Mysql的Docker容器启动时初始化数据库
  4. javascript高级程序设计---Event对象二
  5. 计算机网络作业6,计算机网络作业 6
  6. xml property标签注入一个类变量_依赖注入的学习
  7. 语文学科html代码,2016年最新学科分类与代码..doc
  8. 如何使用SPSS进行判别分析
  9. JAVA基础编程练习题--50道
  10. QueryDSL介绍
  11. python转换成exe后会出现dos框_解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题...
  12. OpenWrt无线AP+STA配置
  13. 27岁转行学什么计算机技术,27岁转行学IT有前途吗?
  14. Tomcat崩溃排查
  15. 《python网络爬虫》1-7章答案
  16. 单片机红绿灯加强版(kile仿真程序和protues硬件仿真)
  17. JS中的Storage
  18. 【汇编语言】【ARM扩展资料】硬件组成
  19. maven pc配置要求_竞速游戏《F1 2019》PC配置要求 GTX 1660ti即可畅玩
  20. 程序猿职业规划-分析篇

热门文章

  1. JAVA我的世界给op_我的世界op指令代码_我的世界op指令大全_飞翔教程
  2. python编程数据处理_python数据处理实战(必看篇)
  3. 解决“存证难”,山东签订电子劳动合同超20万份-爱签电子合同
  4. 微服务架构中的软件测试
  5. android_7c8d8e_101,我求大佬们解密
  6. FSSC22000认证辅导,GFSI旨在维持食品安全管理方案的基准审核流程,以实现食品安全标准的统一
  7. 7-5 计算银行存款的本息
  8. Excel如何批量制作产品编号条形码
  9. 调用网易短信接口(发短信模板通知)
  10. 电子信息工程保研去北邮,天大,中科院哪个好一点?