关于安全性问题:(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. PowerBI入门 第三篇:报表设计技巧

    最近做了几个PowerBI报表,对PowerBI的设计有了更深的理解,对数据的塑形(sharp data),不仅可以在Data Source中实现,例如在TSQL查询脚本中,而且可以在PowerBI中 ...

  2. URL.createObjectURL() 与 URL.revokeObjectURL()

    .URL.createObjectURL URL.createObjectURL()方法会根据传入的参数创建一个指向该参数对象的URL. 这个URL的生命仅存在于它被创建的这个文档里. 新的对象URL ...

  3. php的mysql语句里变量加不加单引号问题

    第一种[{$_GET['id']}加不加单引号都能正常执行没问题] $sql = "select * from `news` where `id` = {$_GET['id']}" ...

  4. 集美大学网络1413第十四次作业成绩(团队九) -- 测试与发布&博客展示(Beta版本)

    题目 团队作业9--测试与发布(Beta版本) 团队作业9成绩  团队/分值 Beta版本测试报告 Beta版本发布说明       总分  Bug类别. 数量 场景测试 测试结果 测试矩阵 出口条件 ...

  5. 【Alpha阶段】第二次scrum meeting

    每日任务: ·1.本次会议为第二次Meeting会议: ·2.本次会议于今日上午08:30第五社区五号楼下召开,会议时长15min. 一.今日站立式会议照片: 二.每个人的工作: 三.工作中遇到的困难 ...

  6. 【Alpha】Daily Scrum Meeting——Day6

    站立式会议照片 1.本次会议为第五次Meeting会议: 2.本次会议在上午大课间09:40,在禹州楼召开,本次会议为30分钟讨论昨天的任务完成情况以及接下来的任务安排. 燃尽图 每个人的工作分配 成 ...

  7. 201521123109《java程序设计》第六周学习总结

    1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖 ...

  8. 201521123085 《Java程序设计》 第3周学习总结

    1. 本周学习总结 2. 书面作业 1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; p ...

  9. 201521123032 《Java程序设计》第10周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业 本次PTA作业题集异常.多线程 1.finally 题目4-2 1.1 截图你的提交结果(出 ...

  10. 201521123092《java程序设计》第九周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己 ...