文档章节

Cookie 防伪造 防修改

横刀立马
 横刀立马
发布于 2017/05/12 10:20
字数 228
阅读 0
收藏 0

主要防止非法用户修改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;
}

© 著作权归作者所有

横刀立马
粉丝 1
博文 7
码字总数 4234
作品 0
深圳
私信 提问
.NET Core实战项目之CMS 第十四章 开发篇-防止跨站请求伪造(XSRF/CSRF)攻击处理

通过 ASP.NET Core,开发者可轻松配置和管理其应用的安全性。 ASP.NET Core 中包含管理身份验证、授权、数据保护、SSL 强制、应用机密、请求防伪保护及 CORS 管理等等安全方面的处理。 通过这...

依乐祝
01/06
0
0
Django之CSRF

一、什么是CSRF CSRF, Cross Site Request Forgery, 跨站伪造请求。举例来讲,某个恶意的网站上有一个指向你的网站的链接,如果某个用户已经登录到你的网站上了,那么当这个用户点击这个恶意...

daibaiyang119
2017/11/25
0
0
应对表单防刷新各位有什么经验

各位大虾,有没有好的办法应对表单的防刷新呢。 如果才有session和cookie会被别人伪造,采用验证码用户体验又不好。 我的环境是LNMP的

江边望海
2012/06/06
722
13
XSS,CSRF防范 也是慢慢更

xss攻击两种 reflected 和stored 如xss可以获取用户的cookie <script>alert(document.cookie)</script> csrf可以跨站请求修改删除用户信息 防御措施: 1.一般的XSS脚本 2.安全函数 如php的 ...

just_wkj
2015/12/30
91
0
Asp.net安全架构之3:CSRF(跨站点请求伪造)

原理 CSRF,Cross Site Request Forgery,即跨站点请求伪造。 这种攻击是指,在用户正常登录系统以后,攻击者诱使用户访问一些非法链接,以执行一些非法操作。比如:如果删除用户操作(如,y...

晨曦之光
2012/06/08
335
0

没有更多内容

加载失败,请刷新页面

加载更多

Guava RateLimiter + AOP注解实现单机限流、统计QPS

1、基于springboot项目pom.xml添加如下依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId></dependency><d......

铁骨铮铮
57分钟前
3
0
龙芯版办公软件下载

金山wps office   rpm包:http://ftp.loongnix.org/os/loongnix/1.0/os/Packages/w/wps-office-10.8.0.6472-1.a20p1.mips64el.rpm   deb包:http://packages.deepin.com/loongson/pool/......

gugudu
今天
3
0
BI报表分析和数据可视化,推荐这三个开源工具!

开源篇 一、Superset 1、技术架构:Python + Flask + React + Redux + SQLAlchemy 2、使用人群: (1)开发/分析人员做好看板,业务人员浏览看板数据 (2)业务人员可自行编辑图表,查看满足...

飓风2000
今天
4
0
CountDownLatch

CountDownLatch的概念 CountDownLatch是一个同步工具类,用来协调多个线程之间的同步,或者说起到线程之间的通信(而不是用作互斥的作用)。 CountDownLatch能够使一个线程在等待另外一些线程...

少年已不再年少
今天
2
0
centos7 新手阿里云服务器安装mongodb

简介 MongoDB 是一个基于分布式 文件存储的NoSQL数据库 由C++语言编写,运行稳定,性能高 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案 MongoDB特点 模式自由 :可以把不同结构的文档存...

醉雨
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部