通过js获取cookie的实例及简单分析
今天碰到一个在firefox下swfupload 上传时session不一致问题
在一个项目遇到多文件上传时,firefox下,服务器端的session获取不一致问题。
解决办法:
解决办法:将sessionID传过去!
js里:
url='/fileupload/main/fileuploadnew?'+document.cookie.split("; ")[0]
document.cookie.split("; ")[0]为sessionid,为什么这么写,看下文。
java后台:
String sessionId = request.getParameter("sessionid");
随之而来的问题是如何通过javascript获取cookie里面的一个值。 那么我们先来看看cookie到底长什么样子呢? 直接在浏览器地址栏输入: javascript:alert(document.cookie); 回车。(这行代码的意思是,让浏览器执行javascript语句: alert(document.cookie);) 结果是:uin=webryan; sessionid=10293123834; pgv_send=1; cur_page=index 这个样子。 注意:1.开始没有空格,2.分号后又空格 3.最后没有分号。那么我们获取cookie的方法就比较明确了。。
一种是用document.cookie.split(“; “)的方式把字符串分割成几个段,然后遍历整个数组。 把每个数组单元等号左边的和name对比是否相等,相等则取等号右边的值。
function getCookie(name){
var arr = document.cookie.split("; ");
for(var i=0,len=arr.length;i<len;i++){
var item = arr[i].split("=");
if(item[0]==name){
return item[1];
}
}
return"";
}
function getCookie(name){
var arr = document.cookie.split("; ");
for(var i=0,len=arr.length;i<len;i++){
var item = arr[i].split("=");
if(item[0]==name){
return item[1];
}
}
return"";
}
function getCookie(name){
var arr = document.cookie.split("; ");
for(var i=0,len=arr.length;i<len;i++){
var item = arr[i].split("=");
if(item[0]==name){
return item[1];
}
}
return "";
}
第二种就是直接在字符串中搜索关键字。由于分号有空格,加上防止出现搜索cookie name为“str”的value是,有一个test_str的cookie名称。这里我们先进行一次过滤。 然后在找到 ;str的位置,这样就不会出问题。具体情况如下
function getCookie(name){
var value="";
var cookie = ";"+document.cookie.replace(/;\s+/g,";")+";"
var pos = cookie.indexOf(";"+name+"=");
if(pos>-1){
var start = cookie.indexOf("=",pos);
var end = cookie.indexOf(";",start);
value = unescape(cookie.substring(start+1,end));
}
return value;
}
function getCookie(name){
var value="";
var cookie = ";"+document.cookie.replace(/;\s+/g,";")+";"
var pos = cookie.indexOf(";"+name+"=");
if(pos>-1){
var start = cookie.indexOf("=",pos);
var end = cookie.indexOf(";",start);
value = unescape(cookie.substring(start+1,end));
}
return value;
}
function getCookie(name){
var value="";
var cookie = ";"+document.cookie.replace(/;\s+/g,";")+";"
var pos = cookie.indexOf(";"+name+"=");
if(pos>-1){
var start = cookie.indexOf("=",pos);
var end = cookie.indexOf(";",start);
value = unescape(cookie.substring(start+1,end));
}
return value;
}
通过js获取cookie的实例及简单分析的更多相关文章
- 转 通过js获取cookie的实例及简单分析
今天review新人写的javascript代码的时候发现了很多的问题.这里以function getCookie(name){}为例. 其中比较典型的一个问题就是如何通过javascript获取co ...
- 简单利用XSS获取Cookie信息实例演示
简单利用XSS获取Cookie信息实例演示 首先要找到一个有XXS的站,这里就不整什么大站了,谷歌一下inurl:'Product.asp?BigClassName',搜出来的命中率也比较高.随便 ...
- js获取cookie
js获取cookie 之前用jQuery.cookie来获取cookie,虽然简单,但是项目上又多引用了一个插件,总觉得不太好,下面是我封装的js原生获取cookie的函数. function get ...
- node.js获取cookie
node.js 获取cookie var Cookies ={}; if (req.headers.cookie != null) { req.headers.cookie.split(';').fo ...
- js获取cookie数据并发送给服务端
js获取cookie数据并发送给服务端 <!DOCTYPE html> <html lang="en"> <head> <meta cha ...
- js获取cookie中存储的值
最近看了试卷题目发现自己会的十分的匮乏, 第一题就把自己难住了,知道有这个东西,但是实际上没有操作过. ========================================= cookie ...
- js获取cookie提取用户名asp.net+html
JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的. 而cookie是运行在客户端的,所以可以用JS来设置cookie. 假设有这样一 ...
- js封装Cookie操作 js 获取cookie js 设置cookie js 删除cookie
每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code var CookieUtil = { // 设置cookie set : functi ...
- 用js获取cookie
//获取cookiefunction cookie_email(cookie_name){ var cookiestr = document.cookie; if (cookiestr.length ...
随机推荐
- 集合视图 UICollectionView
什么是UICollectionView UICollectionView是一种新的数据展示方式,简单来说可以把他理解成多列的UITableView(请一定注意这是UICollectionView的最最 ...
- POJ 1101 简单BFS+题意
The Game 题意: Description One morning, you wake up and think: "I am such a good programmer. Why ...
- jQuery 语法
通过 jQuery,您可以选取(查询,query) HTML 元素,并对它们执行"操作"(actions). jQuery 语法实例 $(this).hide() 演示 jQuer ...
- float和double精度问题
System.out.println(new BigDecimal(253.90).doubleValue() * 100);25390.0精度正确 System.out.println(new Bi ...
- 给linux安全模块LSM添加可链式调用模块(一)
前些日子接了个外包的活,了解了一下Linux安全模块,发现了安全模块中的一些问题. 关于linux安全模块LSM在此就不多说了,大家google下就明白了. 这里主要介绍的是如何修改这个模块,使它可链 ...
- pwnable simple login
这是一周前做的一道题目,总的来说这道题很简单,当然一开始看了半天没发现溢出点也是十分的惭愧,题目出的很良心,思路就是溢出之后我们可以控制main函数的ebp, 进而在main函数返回时进行漏洞利用. ...
- Linux中MySQL的基本操作
1. 用root用户登录mysql mysql -u root -p 2. 查看database show databases; 3. 查看table use database名 show table ...
- linux第三方程序移植
摘要:在linux开发过程中经常需要用到第三方的程序,有时需要用到它们的库,有时需要它们生成的可执行文件,如何正确地编译这些第三方的程序,以方便地使用和开发自己需要的程序,将是本文要论述的内容. 1. ...
- Entity Framework 摘记
1.设置隔离级别 var transactionOptions = new System.Transactions.TransactionOptions(); transactionOptions.I ...
- iso 培训笔记
protocol协议 + 类方法- 实例方法:继承()方法 <> [] 方法调用 .属性:参数mvc storyboard 资源文件info.plist 权限viewcontroller ...