关于安全性问题:(XSS,csrf,cors,jsonp,同源策略)
关于安全性问题:(XSS,csrf,cors,jsonp,同源策略)
Ajax 是无需刷新页面就能从服务器获取数据的一种方法。它的核心对象是XHR,同源策略是ajax的一种约束,它为通信设置了相同的协议,相同的域名,相同的端口。为此,会访问不到之外的资源,因此采用几种方法可以解决这一问题,第一:跨源资源共享CORS;第二:JSONP和图像Ping,但是不如CORS稳妥。
对于CORS:整个cors通信过程是由浏览器自动完成的,关键在于服务器,只要服务器提供了cors接口,就可以跨源通信。对于简单请求,浏览器直接发出cors请求,即在头信息之中。增加一个origin字段;
如:GET/corsHTTP/1.1
Origin:http://api.bob.com 本次请求的跨源地址,服务器会根据该地址决定是否同意该请求。服务器会返回Access-Control-Allow-Origin该类型字段;
Host:api.alice.com
Accept-Language:en-US
Connection:keep-alive
User-Agent:Mozilla/5.0
与jsonp比较:jsonp只适用于get请求,但是它可以支持老式浏览器。而cors不支持老式浏览器,但是可以支持所有类型的HTTP请求。
对于JSONP:通过引入script标签,直接使用src属性引入外部的url。并对其设置cb函数。在资源加载进来的时候定义好一个函数并与cb函数一个名,并把返回的数据作为参数传入该函数,函数内进行一定的操作。
XSS与CSRF:
Csrf:跨站点请求伪造,未经授权系统有权访问某个资源的情况。为了保证通过XHR访问的URL安全,可以通过验证发送请求者是否有权限访问相应的资源。方法:每一次请求都要附带经过相应算法计算得到的验证码;要求以SSL连接来访问;
Xss:跨站脚本攻击,即恶意攻击者向web页面里插入恶意攻击脚本代码。解决方案:首先:对请求的数据进行转换和过滤,包含在客户端和服务器端的转换和过滤。通过将url,查询的关键字,http报头,post数据等可以设置规定的长度,采用适当的格式,过滤或忽略部分内容等等。其次可以采取同源策略实现安全;
关于安全性问题:(XSS,csrf,cors,jsonp,同源策略)的更多相关文章
- 深入理解OAuth2.0 XSS CSRF CORS 原理
基于Token的WEB后台认证机制 http://www.cnblogs.com/xiekeli/p/5607107.html 深入理解OAuth2.0协议http://blog.csdn.net/s ...
- Angular jsonp 同源策略的问题
引用:http://www.cnblogs.com/dengzy/p/5388357.html 说到AJAX就会不可避免的面临两个问题,第一个是AJAX以何种格式来交换数据?第二个是跨域的需求如何解决 ...
- Django 之Ajax&Json&CORS&同源策略&Jsonp用法
什么是Json 定义: JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式.它基于 ECMAScript (w3c制定的js规范)的一个子集 ...
- JS实现的ajax和同源策略
一.回顾jQuery实现的ajax 首先说一下ajax的优缺点 优点: AJAX使用Javascript技术向服务器发送异步请求: AJAX无须刷新整个页面: 因为服务器响应内容不再是整个页面,而是页 ...
- Django【第24篇】:JS实现的ajax和同源策略
JS实现的ajax和同源策略 一.回顾jQuery实现的ajax 首先说一下ajax的优缺点 优点: AJAX使用Javascript技术向服务器发送异步请求: AJAX无须刷新整个页面: 因为服务器 ...
- 同源策略jsonp和cors
同源策略: 同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以说Web是构建在同源策略基础之上 ...
- 同源策略和Jsonp、CORS
一.同源策略 同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以说Web是构建在同源策略基础之 ...
- [CORS:跨域资源共享] 同源策略与JSONP
Web API普遍采用面向资源的REST架构,将浏览器最终执行上下文的JavaScript应用Web API消费者的重要组成部分."同源策略"限制了JavaScript的跨站点调用 ...
- AJAX_违反了同源策略_就是"跨域"——jsonp 和 cors
https 协议 默认端口号 443 http 协议 默认端口号 80 同源策略 由网景公司提出的——浏览器 的 为了浏览器安全而生 同源策略: 协议.域名.端口号 必须完全一致 违 ...
随机推荐
- Unity3D安装破解教程(以Unity5.3.4为例)(转)
Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏.建筑可视化.实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎.目 ...
- poj 1384完全背包
题意:给出猪罐子的空质量和满质量,和n个硬币的价值和质量,求猪罐子刚好塞满的的最小价值. 思路:选择硬币,完全背包问题,塞满==初始化为无穷,求最小价值,min. 代码: #include<io ...
- xmanager无法弹出图形化界面。
- bootstrap导航条+模态对话框+分页样式
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- 团队作业1——团队展示&选题
Deadline: 2017-4-5 22:00PM,以博客发表日期为准 评分基准: 按时交 - 有分,检查的项目包括后文的四个方面 团队博客 团队选题 团队计划 团队成员贡献分分配规则 晚交 - 0 ...
- Swing-JTable检测单元格数据变更事件
在JTable的初级教程中往往会提到,使用TableModel的 addTableModelListener方法可以监听单元格数据的变更,在其事件处理函,数tableChanged中,可以通过e.ge ...
- 201521123029《Java程序设计》第八周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 1.2 选做:收集你认为有用的代码片段 答: 2. 书面作业 本次作业题集集合 1.List中指定元素的删除( ...
- 201521123015 《Java程序设计》第七周学习总结
1. 本周学习总结 2. 书面作业 1. ArrayList代码分析 1.1 解释ArrayList的contains源代码 源代码如下: public boolean contains(Object ...
- 201521123044 《Java程序设计》第5周学习总结
1. 本章学习总结 2. 书面作业 1. 代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误.并分析输出结果. 答: ...
- 201521123062《Java程序设计》第1周学习总结
1.本章学习总结 认识Java平台运行环境,运行软件 初步认识JDK,JRE,JVM基本含义 书面作业 1.为什么java程序可以跨平台运行?执行java程序的步骤是什么? Java平台运行在各平台的 ...