关于安全性问题:(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,同源策略)的更多相关文章

  1. 深入理解OAuth2.0 XSS CSRF CORS 原理

    基于Token的WEB后台认证机制 http://www.cnblogs.com/xiekeli/p/5607107.html 深入理解OAuth2.0协议http://blog.csdn.net/s ...

  2. Angular jsonp 同源策略的问题

    引用:http://www.cnblogs.com/dengzy/p/5388357.html 说到AJAX就会不可避免的面临两个问题,第一个是AJAX以何种格式来交换数据?第二个是跨域的需求如何解决 ...

  3. Django 之Ajax&Json&CORS&同源策略&Jsonp用法

    什么是Json 定义: JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式.它基于 ECMAScript (w3c制定的js规范)的一个子集 ...

  4. JS实现的ajax和同源策略

    一.回顾jQuery实现的ajax 首先说一下ajax的优缺点 优点: AJAX使用Javascript技术向服务器发送异步请求: AJAX无须刷新整个页面: 因为服务器响应内容不再是整个页面,而是页 ...

  5. Django【第24篇】:JS实现的ajax和同源策略

    JS实现的ajax和同源策略 一.回顾jQuery实现的ajax 首先说一下ajax的优缺点 优点: AJAX使用Javascript技术向服务器发送异步请求: AJAX无须刷新整个页面: 因为服务器 ...

  6. 同源策略jsonp和cors

    同源策略: 同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以说Web是构建在同源策略基础之上 ...

  7. 同源策略和Jsonp、CORS

    一.同源策略 同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以说Web是构建在同源策略基础之 ...

  8. [CORS:跨域资源共享] 同源策略与JSONP

    Web API普遍采用面向资源的REST架构,将浏览器最终执行上下文的JavaScript应用Web API消费者的重要组成部分."同源策略"限制了JavaScript的跨站点调用 ...

  9. AJAX_违反了同源策略_就是"跨域"——jsonp 和 cors

    https 协议    默认端口号 443 http 协议    默认端口号 80 同源策略 由网景公司提出的——浏览器 的 为了浏览器安全而生 同源策略: 协议.域名.端口号    必须完全一致 违 ...

随机推荐

  1. 编程零基础应当如何开始学习 Python?

    提前说一下,这篇福利多多,别的不说,直接让你玩回最有手感的怀旧游戏,参数贴图很方便自己可以根据喜好修改哦. 本篇通过以下四块展开,提供大量资源对应. 选一个好版本 有没有看过<在下坂本,有何贵干 ...

  2. vue中组件的四种方法总结

    希望对大家有用 全局组件的第一种写法 html: <div id = "app"> <show></show></div> js: ...

  3. 【Alpha】 第七次Daily Scrum Meeting

    一.本次会议为第七次meeting会议 二.时间:9:37AM-9:50AM 地点:禹州三楼 三.会议站立式照片 四.今日任务 成员 昨日任务 今日任务 林清青 学习并了解微信程序相关方面知识,为小组 ...

  4. 201521123049 《JAVA程序设计》 第4周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. ###1.类型转换(cast):是将两种不同类型的变量进行转换,但不能随意强制转换,随意强制 ...

  5. 201521123101 《Java程序设计》第1周学习总结

    1. 本周学习总结 在学习Java之前要做好准备工作,了解Java从研发后开始如何一步步完善,其与C++.C语言的异同,然后下载JDK.Eclipse.Notepad等软件,以便于未来的学习. 2. ...

  6. Python笔记2.1

    所有类型如下图: 一 基础数据类型 1)数字类型 复制代码 >>> 2/2+2*2 5.0 >>> (50-5*6)/4 5.0 >>> 8/5 ...

  7. 201521123080《Java程序设计》第14周学习总结

    本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. 书面作业 MySQL数据库基本操作 建立数据库,将自己的姓名.学号作为一条记录插入.(截图,需出现自己的学号.姓名) ...

  8. 控制结构(1) 分枝/叶子(branch/leaf)

    // 下一篇:卫语句(guard clause) 典型代码: function doSomething1(){ // ... } function doSomething2(){ // ... } f ...

  9. 微信小程序购物车产品计价

    微信小程序购物车产品计价: 问题:当选中商品,价格累加时会出现无限循环小数 解答:在计算前先parseFloat(变量),再计算的最后使用(变量).toFixed(2)保留两位小数 例如: jiaCa ...

  10. Shiro第六篇【验证码、记住我】

    验证码 在登陆的时候,我们一般都设置有验证码,但是我们如果使用Shiro的话,那么Shiro默认的是使用FormAuthenticationFilter进行表单认证. 而我们的验证校验的功能应该加在F ...