Java伪造cookie登录_Cookie防伪造防修改
主要防止非法用户修改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防伪造防修改相关推荐
- JAVA——保持cookie登录状态的HttpClient封装工具类
在日常开发中,我们经常需要通过http协议去调用网络内容,虽然java自身提供了net相关工具包,但是其灵活性和功能总是不如人意,于是有人专门搞出一个httpclient类库,来方便进行Http操作. ...
- php cookie防伪造,技术分享:Cookie 防伪造 防修改
原标题:技术分享:Cookie 防伪造 防修改 主要防止非法用户修改cookie信息,以及cookie的超时时间 传统cookie存储,Cookie(name, value),value很容易就被篡改 ...
- ASP.NET MVC 使用防伪造令牌来避免CSRF攻击
本文转自这篇文章 XSRF即在访问B站点的时候,执行了A站点的功能. 比如: A站点登录后,可以修改用户的邮箱(接口:/Email/Modify?email=123),修改邮箱时只验证用户有没有登 ...
- java频繁查询数据库_如何解决Cookie登录 频繁查询数据库问题?
实现所谓的无状态,使用Cookie认证的话,不用session岂不是每次都要重新认证查一下数据库? 我的具体实现是 定义 一个秘钥 key="随机"; user_profile表 ...
- 通达OA 11.5 以下版本 前台任意伪造用户登录登录绕过漏洞在线实验
转载自:[通达OA < 11.5 前台任意伪造用户登录登录绕过漏洞利用] - https://store.vsplate.com/cn/post/518/ 实验地址:https://www.vs ...
- 银行登录控件仿制--防钩子,防嗅探
银行登录控件仿制--防全局钩子,防嗅探 类似于支付宝登录控件.工商.招商银行登录控件,这个是一个DLL钩子,用于注入其他进程 另外有一个控件,用来模拟INPUT控件,近期发布! 变量定义 unit h ...
- JAVA毕业设计HTML5“牧经校园疫情防控网站”设计与实现计算机源码+lw文档+系统+调试部署+数据库
JAVA毕业设计HTML5"牧经校园疫情防控网站"设计与实现计算机源码+lw文档+系统+调试部署+数据库 JAVA毕业设计HTML5"牧经校园疫情防控网站"设计 ...
- 2020/7/27 - [watevrCTF-2019]Cookie Store - 伪造cookie
一开始还以为这是一个很难的题目,没想到就是一个简单的COOkIe伪造. 1.伪造cookie 根据他的题目提示,这可能是一道伪造cookie的题,所以先用burpsuIte进行抓包. 买这个一块钱的先 ...
- java防重防频繁工具
一.引言 开发过程中有些接口的跑动比较耗时耗资源,比如计算销售手底下所有门店的商品,点击过于频繁就会导致大量资源消耗,因此博主在项目中封装了一套防重防频繁的工具. 由于是分布式,所以需要依赖redis ...
最新文章
- .data和.text段合并
- 前端笔记(9)元素的隐藏与显示,css用户界面样式,vertical-align垂直对齐,溢出文字省略号显示,css精灵技术,过渡,焦点,滑动门,margin负值
- 如何在Mysql的Docker容器启动时初始化数据库
- javascript高级程序设计---Event对象二
- 计算机网络作业6,计算机网络作业 6
- xml property标签注入一个类变量_依赖注入的学习
- 语文学科html代码,2016年最新学科分类与代码..doc
- 如何使用SPSS进行判别分析
- JAVA基础编程练习题--50道
- QueryDSL介绍
- python转换成exe后会出现dos框_解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题...
- OpenWrt无线AP+STA配置
- 27岁转行学什么计算机技术,27岁转行学IT有前途吗?
- Tomcat崩溃排查
- 《python网络爬虫》1-7章答案
- 单片机红绿灯加强版(kile仿真程序和protues硬件仿真)
- JS中的Storage
- 【汇编语言】【ARM扩展资料】硬件组成
- maven pc配置要求_竞速游戏《F1 2019》PC配置要求 GTX 1660ti即可畅玩
- 程序猿职业规划-分析篇
热门文章
- JAVA我的世界给op_我的世界op指令代码_我的世界op指令大全_飞翔教程
- python编程数据处理_python数据处理实战(必看篇)
- 解决“存证难”,山东签订电子劳动合同超20万份-爱签电子合同
- 微服务架构中的软件测试
- android_7c8d8e_101,我求大佬们解密
- FSSC22000认证辅导,GFSI旨在维持食品安全管理方案的基准审核流程,以实现食品安全标准的统一
- 7-5 计算银行存款的本息
- Excel如何批量制作产品编号条形码
- 调用网易短信接口(发短信模板通知)
- 电子信息工程保研去北邮,天大,中科院哪个好一点?