java ajax cookies_HttpOnly cookie如何处理AJAX请求?
如果在具有基于cookie的访问限制的站点上使用AJAX,则JavaScript需要访问cookie . HttpOnly cookies会在AJAX网站上运行吗?
编辑:如果指定了HttpOnly,Microsoft通过禁止JavaScript访问cookie创建了一种防止XSS攻击的方法 . FireFox后来采用了这个 . 所以我的问题是:如果你在一个网站上使用AJAX,比如StackOverflow,那么Http-Only cookies是一个选择吗?
编辑2:问题2.如果HttpOnly的目的是阻止JavaScript访问cookie,你仍然可以通过JavaScript通过XmlHttpRequest对象检索cookie, what is the point of HttpOnly ?
编辑3:以下是维基百科的引用:
当浏览器收到这样的cookie时,它应该像往常一样在以下HTTP交换中使用它,但不能让它对客户端脚本可见 . [32] HttpOnly标志不是任何标准的一部分,并未在所有浏览器中实现 . 请注意,目前没有阻止通过XMLHTTPRequest读取或写入会话cookie . [33] .
我知道当您使用HttpOnly时 document.cookie 被阻止 . 但似乎您仍然可以在XMLHttpRequest对象中读取cookie值,从而允许使用XSS . HttpOnly如何让你更安全?通过使cookie基本上只读?
在您的示例中,我无法写入您的 document.cookie ,但我仍然可以使用XMLHttpRequest对象窃取您的cookie并将其发布到我的域中 .
var req = null;
try { req = new XMLHttpRequest(); } catch(e) {}
if (!req) try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {}
if (!req) try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {}
req.open('GET', 'http://stackoverflow.com/', false);
req.send(null);
alert(req.getAllResponseHeaders());
编辑4:对不起,我的意思是你可以将XMLHttpRequest发送到StackOverflow域,然后将getAllResponseHeaders()的结果保存到字符串中,正则输出cookie,然后将其发布到外部域 . 维基百科和ha.ckers似乎在这个问题上同意我,但我希望能够重新接受教育......
最终编辑:啊,显然两个网站都错了,这实际上是bug in FireFox . IE6和7实际上是目前唯一完全支持HttpOnly的浏览器 .
重申我所学到的一切:
HttpOnly限制对IE7和FireFox中的document.cookie的所有访问(不确定其他浏览器)
HttpOnly从IE7中的XMLHttpObject.getAllResponseHeaders()中的响应头中删除cookie信息 .
XMLHttpObjects只能提交给它们来自的域,因此没有cookie的跨域发布 .
编辑:此信息可能不再是最新的 .
java ajax cookies_HttpOnly cookie如何处理AJAX请求?相关推荐
- php ajax设置cookie,在AJAX请求中设置Cookie?
我正在使用对PHP的jQuery AJAX调用来验证登录表单.在php中,我创建一个会话,如果他们选中了" remember me"复选框,我想创建一个cookie.这是php代码 ...
- ajxs跨域 php_PHP项目中是如何处理Ajax请求与Ajax跨域的
PHP项目中是如何处理Ajax请求与Ajax跨域的 发布时间:2020-12-14 16:35:47 来源:亿速云 阅读:98 这期内容当中小编将会给大家带来有关PHP项目中是如何处理Ajax请求与A ...
- JAVA中.jsp模板文件AJAX异步请求 - 数据渲染问题
JAVA中.jsp模板文件AJAX异步请求 - 数据渲染失败,谁的过失? 后端已经查询出来结果,但是返回的API接口response查看不到对应的信息.(即:后台有,前台没有) 原因分析: 是因为AJ ...
- day17-python项目Django之跨表查询及Ajax、cookie和session
第1章 课堂笔记 class (models.Model):title=models.CharField(max_length=32)price=models.DecimalField(max_dig ...
- java中ajax概念_Java之AJAX概念和实现方式
Java之AJAX概念和实现方式 开发工具与关键技术:MyEclipse 10,java 作者:刘东标 撰写时间:2019-06-12 1.概念: Asynchronous JavaScript An ...
- mvc ajax get请求,springMVC 中 ajax get 请求和 post 请求的坑以及参数传递
1, ajax 请求 无论为 post ,或者 get ,url中带有?形式的参数,后台都能以String类型变量接收,变量名称和参数名称必须一致 前台ajax: $.ajax( "prod ...
- ajax不执行_好程序员Java学习路线分享原生Ajax的使用
好程序员Java学习路线分享原生Ajax的使用,首先我们先来看一下什么是 AJAX AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. AJAX 就是 异步.JavaScript ...
- ajax json 403,解决 Ajax 发送 post 请求出现 403 Forbidden 的三种方式
众所周知前端向后台发送 post 请求时,必须验证 csrf,否则会报错 403 Forbidden.使用 Django Form 表单可以直接在表单里面添加 {% csrf_token %} 即可, ...
- js ajax 访问java函数,将url分配给Java EE项目中的ajax(js)函数
我正在Ajax中尝试使用我的第一个项目,并且在分配指向要从服务器中获取的文件的绝对URL时遇到问题.将url分配给Java EE项目中的ajax(js)函数 这是我的函数: function fetc ...
最新文章
- 微秒时间_揭秘奇特光速原子研究,记录有史以来最短时间段
- 为什么wait和notify只能在synchronized中?
- 一道关于信号量的问题
- python实现可以被with上下文管理的类或函数
- vs里面mfc是什么_最近!一大批人正在前往文安,究竟发生了什么?
- python3开发工具推荐_python开发工具有哪些?我推荐这5款python开发工具!
- 高性能分布式事物中间件Sharding-Sphere介绍
- Linux常用命令(持续更新)
- QT5之exe发布及dll打包
- PHP REDIS 使用长连接多数据库存储到最后一个数据库中的问题解决
- Web2.0:天使投资与VC的竞技场
- 计算机里的e盘 不能应用,我的电脑里的e盘打不开是怎么回事
- pyodbc 连接informix
- 联机饥荒一直显示启动服务器,饥荒联机版启动服务器时遇到一些麻烦 | 手游网游页游攻略大全...
- 烟雾检测模块ADPD188BI介绍与应用(一)
- Linux导出未越狱Iphone10.3-QQ聊天记录
- php 输出html 总结
- 主成成分分析(Principal Component Analysis)
- 《灵飞经》①洪武天下 第三章 东岛三尊
- STM32芯片数据手册下载——官网免费下载方法