关于安全性问题:(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 同源策略 由网景公司提出的——浏览器 的 为了浏览器安全而生 同源策略: 协议.域名.端口号 必须完全一致 违 ...
随机推荐
- C# 导出数据到Excel模板中(转)
今天做报表的时候遇到了多表头的问题,而且相应的报表的格式都一样.所以就采用了报表模板的方式来进行. 第一步:在开发的当前项目中引入:Microsoft.Office.Interop.Excel:Sys ...
- JDBC(一)之细说JDBC
Properties info = new Properties();//要参考数据库文档 info.setProperty("user", "root"); ...
- 结对作业(1)----基于GUI的四则运算
小伙伴:201421123031 余洋 201421123044 潘志坚 题目要求: 我们在个人作业1中,用各种语言实现了一个命令行的四则运算小程序.进一步,本次要求把这个程序做成GUI(可以是W ...
- 201521123052《Java程序设计》第2周学习总结
1. 本周学习总结 String类一些用法 学习Array类 使用枚举 使用eclipse关联JDK源代码 使用码云管理云代码 2.书面作业 1.使用Eclipse关联jdk源代码,并查看String ...
- Java多线程高并发学习笔记(一)——Thread&Runnable
进程与线程 首先来看百度百科关于进程的介绍: 进程是一个具有独立功能的程序关于某个数据集合的一次运行活动.它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体.它不只是程序的代码,还包括当前的 ...
- 存储过程重置SEQUENCE值从新开始。
CREATE OR REPLACE PROCEDURE RESET_SEQUENCE( v_SeqName IN VARCHAR2, v_sqlcode OUT NUMBER, v_sqlerrm O ...
- 数据库Mysql的安装及操作---数据引擎
一.1.什么是数据 描述事物的符号记录称为数据. 2.什么是数据库 存放数据的仓库,只不过这个仓库在计算机上存储设备上. 二.Mysql的介绍 ...
- Servlet知识点大纲
这是我整理的Servlet知识点大纲,可按照它的顺序来学习-..具体的内容在我的博客中都可以找到!
- Hibernate第三篇【主配置文件、映射文件、复合主键映射】
前言 目前已经学了如何搭建Hibernate的开发环境,以及Hibernate对应的API了-在快速入门还没讲解的就是配置文件是怎么配置的.因此,本博文主要讲解主配置文件以及映射配置文件.. 主配置文 ...
- 简洁灵活的前端框架------BootStrap
前 言 Bootstrap,来自 Twitter,是目前很受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷.[1] ...