cookie

IE和Firefox下的Cookie兼容问题

偶尔善良 提交于 2019-12-10 04:25:26
IE 和 Firefox 下的 Cookie 兼容问题 这个帖是继于 " 基于二级域名下 Cookie 共享的 SSO" 后续发现的问题,测试结果是这样的:用 Firefox 可以登录,使用 IE 后,部分可以登录,部分不可以登录。最初是怀疑 IE 的 Cookie 功能没有打开引起的,测试到最后这个原因也排除了。 既然是通过 Cookie 实现 SSO ,那认证必然是保存在 Cookie 中 ,Cookie 文件就是保存在本地的缓 存目录下 (firefox 下的 Cookie 是加密的,查不到 Cookie 文件 ) ,但是奇怪的是 IE 登录后,缓存目录下根本没有发现生成的 Cookie 文件,这就是不能登录的根本原因。 为什么没有生成 Cookie 文件呢,要不没有生成,要不生成了又被 IE 销毁了。前者不可能发生,如果不生成 Cookie, 那为什么有些浏览器行, firefox 更是全部可以,只能怀疑第二个原因, Cookie 是被 IE 自动销毁了, IE 销毁 Cookie 是根据 Cookie 的生命期 ,例如, Cookie 是 2009-01-01 01:00:01 生成的,有效时间是 5 个小时,那到了 2009-01-01 06:00:01 后, IE 就会销毁此 Cookie 文件。对于 IE 而言, Cookie

(day58)十、Cookie、Session、Token、Django中间件

安稳与你 提交于 2019-12-10 03:16:08
[toc] 一、Cookie (一)由来 HTTP协议的无状态特性导致每次的请求都是独立的,即客户端和服务器在某次会话中产生的数据不会被保存,因此产生了Cookie,用来保存客户端的用户状态 (二)什么是Cookie Cookie具体是指服务器发送出来存储在浏览器上的一组组键值对,下次访问服务器时浏览器会自动携带这些信息,以便服务器通过Cookie提取有用信息从而判断访问者 Cookie最大支持4096字节,保存在客户端,安全性低 (三)Django中操作Cookie (1)设置Cookie 普通 obj.set_cookie(key,value,...) obj为HttpResponse或render或redirect实例化的对象 加盐 obj.set_signed_cookie(key,value,salt='加密盐', max_age=None, ...) obj为HttpResponse或render或redirect实例化的对象 参数 key:键 value:值 max_age:超时时间,以秒为单位,不能给IE设置cookie expires:超时时间,以秒为单位,可以给IE设置cookie path:cookie生效的路径,/表示根路径,可以被任何URL页面访问 domain:cookie生效的域名 secure:布尔值,是否为HTTPS传输 httponly:布尔值

iOS ASIHTTPRequest详解

江枫思渺然 提交于 2019-12-09 23:13:42
ASIHTTPRequest对CFNetwork API进行了封装,并且使用起来非常简单,用Objective-C编写,可以很好的应用在Mac OS X系统和iOS平台的应用程序中。ASIHTTPRequest适用于基本的HTTP请求,和基于REST的服务之间的交互。 ASIHTTPRequest功能很强大,主要特色如下: l 通过简单的接口,即可完成向服务端提交数据和从服务端获取数据的工作 l 下载的数据,可存储到内存中或直接存储到磁盘中 l 能上传本地文件到服务端 l 可以方便的访问和操作请求和返回的Http头信息 l 可以获取到上传或下载的进度信息,为应用程序提供更好的体验 l 支持上传或下载队列,并且可获取队列的进度信息 l 支持基本、摘要和NTLM身份认证,在同一会话中授权凭证会自动维持,并且可以存储在Keychain(Mac和iOS操作系统的密码管理系统)中 l 支持Cookie l 当应用(iOS 4+)在后台运行时,请求可以继续运行 l 支持GZIP压缩数据 l 内置的ASIDownloadCache类,可以缓存请求返回的数据,这样即使没有网络也可以返回已经缓存的数据结果 l ASIWebPageRequest –可以下载完整的网页,包括包含的网页、样式表、脚本等资源文件,并显示在UIWebView /WebView中。任意大小的页面都可以无限期缓存

ASIHTTPREQUEST详解

给你一囗甜甜゛ 提交于 2019-12-09 23:13:24
目录 发起一个同步请求 创建一个异步请求 队列请求 请求队列上下文 ASINetworkQueues, 它的delegate提供更为丰富的功能 取消异步请求 安全的内存回收建议 向服务器端上传数据 下载文件 获取响应信息 获取请求进度 cookie的支持 大文件断点续传 ASIDownloadCache 设置下载缓存 多种的缓存并存 缓存策略 缓存存储方式 缓存其它特性 实现自定义的缓存 使用代理请求 ASIHTTPRequest, 请求的其它特性 ASIHTTPRequest是一款极其强劲的HTTP访问开源项目。让简单的API完成复杂的功能, 如: 异步请求,队列请求,GZIP压缩,缓存,断点续传,进度跟踪,上传文件,HTTP认证 在新的版本中,还加入了Objective-C闭包Block的支持,让我们的代码更加轻简灵活。 下面就举例说明它的 API用法 。 发起一个同步请求 同步意为着线程阻塞,在主线程中使用此方法会使应用Hang住而不响应任何用户事件。所以,在应用程序设计时,大多被用在专门的子线程增加用户体验,或用异步请求代替(下面会讲到)。 - (IBAction)grabURL:(id)sender { NSURL *url = [NSURL URLWithString:@" http://allseeing-i.com" ]; ASIHTTPRequest

Java Web-Cookie和Session

丶灬走出姿态 提交于 2019-12-09 22:36:13
Java Web-Cookie和Session 会话 会话的概念 一次会话是指浏览器从浏览器第一次给服务器发送请求建立到其中一方断开结束会话的一个过程。它包含多次请求和响应。 会话是用来在一次会话的范围内的多次请求间共享数据的 会话分为两类:客户端会话技术(cookie)和服务器端会话技术(session)。 cookie:将数据存储到客户端 session:将数据储存到服务器端 Cookie cookie保存在浏览器本地、一个会话中每一次请求都携带着它 快速入门 步骤: 服务器创建cookie对象,绑定数据 new Cookie(String name,String value) 发送cookie对象给浏览器 response.addCookie(Cookie cookie) 获取浏览器返回的cookie,拿到数据 Cookies[] request.getCookies() 代码: cookieDemo1.java protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { /* cookie快速入门 */ //1.创建cookie对象 Cookie c=new Cookie("msg","hello"

Servlet转发forward和重定向response.sendRedirect()区别

情到浓时终转凉″ 提交于 2019-12-09 21:52:36
1.两者区别 重定向是在客户端发生的,URL地址栏变化,可以定向到任何服务器的资源; 转发是发生在服务器内部的,浏览器地址栏不变化,只能转发本服务器的资源。 2.使用方法 重定向使用:response.sendRedirect(url); 转发时使用:request.getRequestDispatcher(url).forward(request,response); 3.禁用Cookie时,如何使用Session session虽然是服务器端的,但是在浏览器再次访问其他servlet时,服务器如何知道是否为同一客户端?其实,在浏览器访问session资源后,服务器会发送一个set-cookie响应,此cookie不是存在本地的,存在浏览器内部,所以说session是基于cookie的。但是当浏览器禁用所有cookie时,cookie存不进去,服务器如何分辨客户机呢? 使用URL重写,即将session产生的id设置在URL上,浏览器每次访问,都带着此后缀,所以无论是否禁用cookie,都能访问同一session资源,方法如下: 重定向URL使用 String url = response.encodeRedirectURL(url); response.sendRedirect(url); 非重定向URL使用 String url = response.encodeURL

codeigniter 3 SESSION的实现(基于redis)

人盡茶涼 提交于 2019-12-09 19:31:53
###CI 2 SESSION的诟病 相信无数人在使用CI2的Session类库时,遇到各种的坑,各种抱怨,各种不解。在CI中国论坛能搜到大量关于Session类库的提问,说明要想用好session类库还是得下一番功夫。 ####Session和cookie的区别 在某些语境中,cookie是session的一种实现方式,Ci 2的类库设计似乎就这么认为的。于是,产生了CI2中COOKIE即SESSION的说法。在安全性方面,CI 2当然也由考虑,COOKIE是经过加密过的,而且一旦修改,服务器便不再识别。 **CI 2的session工作原理 ** CI 2提供了一个元数据,我们可以把这个元数据看为一个自定义的验证机制,其包含以下内容: Array ( [session_id] => 4a5a5dca22728fb0a84364eeb405b601 [ip_address] => 127.0.0.1 [user_agent] => Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; [last_activity] => 1303142623 ) 其中Session id是重要的,Session id不对,直接拒绝。 验证选项在配置文件里有规定,(IP地址的限制)(user agent限制)(上次活动时间)等 $config[

Cookie&Session

吃可爱长大的小学妹 提交于 2019-12-09 17:58:21
Cookie Cookie是什么?(What) Cookie是一项在Web请求中,基于客户端的用于存储数据的技术 为什么要用Cookie?(Why) 我们知道HTTP协议是一种无状态的协议,服务端无法区分每个请求对应的是哪个用户.Cookie就是为了解决这个问题而生的,它通过在浏览器端存储一些数据,在请求时附加到请求头中,这样服务端一读请求头就知道了这次请求是哪个用户发起的. 什么情况下要使用Cookie?(When) Cookie的使用分为在业务程序中显式使用和通过容器隐式使用 显式使用:当我们有一些安全性要求不高,数据量不大的用户数据需要存储时,可以考虑使用Cookie 隐式使用:首次访问JSP,Servlet时,Servlet容器会自动往响应头中添加一个Cookie(Tomcat中是JSESSIONID) 怎样使用Cokie?(How) cookie创建 // 两种方法 // 1. 构造时将数据传入 Cookie cookie = new Cookie ( "key" , "value" ) ; // 除了核心的数据之外,我们还可以设置一些其他属性 // 1. 设置过期时间 cookie . setMaxAge ( 60 ) ; //单位:秒(60秒后,Cookie会自动删除) // 2. 设置Domain cookie . setDomain ( "www.baidu

day58总结

ぐ巨炮叔叔 提交于 2019-12-09 17:12:05
目录 cookie, session, 及token的工作原理 cookie与session token cookie基本操作 orm操作cookie 基于cookie实现登录认证 session基本操作 django中间件 需要掌握的方法 了解的方法, 能简单口述即可 课外拓展题: RBAC cookie, session, 及token的工作原理 cookie与session 为什么要有这些技术? HTTP协议是无状态的, cookie和session是为了保持客户端的用户状态 cookie: 保存在客户端浏览器上的键值对, cookie虽然是保存在客户端浏览器上的键值对, 但它是由服务端设置的 浏览器有权禁止cookie的写入 session: 保存在服务端上面的键值对, session的工作机制是需要依赖于cookie的 token 加密算法, salt: xxx 用户信息 + xxx --> 随机字符串 用户信息 + 随机字符串 --> res, 浏览器的cookie保存res 之后浏览器发送cookie, 服务端将res拆分成: 用户信息 + 随机字符串 服务端将用户信息通过相同的加密算法得出一个结果与拆分出的随机字符串进行比对 优点: 一定程度保证了用户信息安全, 同时服务端不需要使用session存储用户信息 cookie基本操作 orm操作cookie

Android webview(二) 常用设置

一个人想着一个人 提交于 2019-12-09 17:02:17
安全相关(去掉不必要的JavaBridge) //这个Java Bridge是WebView自己添加的 //在Api 17以前,javascript可以通过java对象进行反射,执行一些不安全的操作 webView.removeJavascriptInterface("searchBoxJavaBridge_"); js相关 //设置支持javascript,默认是false WebSettings.setJavaScriptEnabled(true); 缩放相关 //使WebView支持通过手势或者缩放控制器来缩放页面,默认是true //该设置不影响 WebView.zoomIn()和WebView.zoomOut() WebSettings.setSupportZoom(true); //设置使用默认的缩放控制器,默认是false WebSettings.setBuiltInZoomControls(true); //不显示默认的+/-缩放控制View, 默认是true WebSettings.setDisplayZoomControls(false); 加载图片策略相关 //设置是否自动加载图片,默认是`true`,如果设置为`false`,那么所有图片都不会被加载,包括本地图片. WebSettings.setLoadsImagesAutomatically(true);