如果在具有基于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请求?相关推荐

  1. php ajax设置cookie,在AJAX请求中设置Cookie?

    我正在使用对PHP的jQuery AJAX调用来验证登录表单.在php中,我创建一个会话,如果他们选中了" remember me"复选框,我想创建一个cookie.这是php代码 ...

  2. ajxs跨域 php_PHP项目中是如何处理Ajax请求与Ajax跨域的

    PHP项目中是如何处理Ajax请求与Ajax跨域的 发布时间:2020-12-14 16:35:47 来源:亿速云 阅读:98 这期内容当中小编将会给大家带来有关PHP项目中是如何处理Ajax请求与A ...

  3. JAVA中.jsp模板文件AJAX异步请求 - 数据渲染问题

    JAVA中.jsp模板文件AJAX异步请求 - 数据渲染失败,谁的过失? 后端已经查询出来结果,但是返回的API接口response查看不到对应的信息.(即:后台有,前台没有) 原因分析: 是因为AJ ...

  4. day17-python项目Django之跨表查询及Ajax、cookie和session

    第1章 课堂笔记 class (models.Model):title=models.CharField(max_length=32)price=models.DecimalField(max_dig ...

  5. java中ajax概念_Java之AJAX概念和实现方式

    Java之AJAX概念和实现方式 开发工具与关键技术:MyEclipse 10,java 作者:刘东标 撰写时间:2019-06-12 1.概念: Asynchronous JavaScript An ...

  6. mvc ajax get请求,springMVC 中 ajax get 请求和 post 请求的坑以及参数传递

    1, ajax 请求 无论为 post ,或者 get ,url中带有?形式的参数,后台都能以String类型变量接收,变量名称和参数名称必须一致 前台ajax: $.ajax( "prod ...

  7. ajax不执行_好程序员Java学习路线分享原生Ajax的使用

    好程序员Java学习路线分享原生Ajax的使用,首先我们先来看一下什么是 AJAX AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. AJAX 就是 异步.JavaScript ...

  8. ajax json 403,解决 Ajax 发送 post 请求出现 403 Forbidden 的三种方式

    众所周知前端向后台发送 post 请求时,必须验证 csrf,否则会报错 403 Forbidden.使用 Django Form 表单可以直接在表单里面添加 {% csrf_token %} 即可, ...

  9. js ajax 访问java函数,将url分配给Java EE项目中的ajax(js)函数

    我正在Ajax中尝试使用我的第一个项目,并且在分配指向要从服务器中获取的文件的绝对URL时遇到问题.将url分配给Java EE项目中的ajax(js)函数 这是我的函数: function fetc ...

最新文章

  1. 微秒时间_揭秘奇特光速原子研究,记录有史以来最短时间段
  2. 为什么wait和notify只能在synchronized中?
  3. 一道关于信号量的问题
  4. python实现可以被with上下文管理的类或函数
  5. vs里面mfc是什么_最近!一大批人正在前往文安,究竟发生了什么?
  6. python3开发工具推荐_python开发工具有哪些?我推荐这5款python开发工具!
  7. 高性能分布式事物中间件Sharding-Sphere介绍
  8. Linux常用命令(持续更新)
  9. QT5之exe发布及dll打包
  10. PHP REDIS 使用长连接多数据库存储到最后一个数据库中的问题解决
  11. Web2.0:天使投资与VC的竞技场
  12. 计算机里的e盘 不能应用,我的电脑里的e盘打不开是怎么回事
  13. pyodbc 连接informix
  14. 联机饥荒一直显示启动服务器,饥荒联机版启动服务器时遇到一些麻烦 | 手游网游页游攻略大全...
  15. 烟雾检测模块ADPD188BI介绍与应用(一)
  16. Linux导出未越狱Iphone10.3-QQ聊天记录
  17. php 输出html 总结
  18. 主成成分分析(Principal Component Analysis)
  19. 《灵飞经》①洪武天下 第三章 东岛三尊
  20. STM32芯片数据手册下载——官网免费下载方法

热门文章

  1. Win10彻底关闭Antimalware Service Executable占用内存过高问题
  2. android sepolicy报错解决
  3. 从字符串或16进制数得到UIColor
  4. Wpf之无法添加wpf窗体
  5. tensorflow之train.get_checkpoint_state
  6. 深度学习自学(二十九):上下文感知和对规模不敏感的动作重复计数
  7. CVPR学习(四):CVPR2019-目标检测
  8. 怎么让SVN日志显示作者和日期等信息?
  9. 阿里云服务器如何更换系统镜像
  10. linux学习笔记:如何更改文件属性?