callback

跨域(一)

*爱你&永不变心* 提交于 2020-03-02 13:20:34
什么是跨域 要了解跨域,先要说说同源策略。同源策略是由 Netscape 公司提出的一个著名的安全策略,所有支持 JavaScript 的浏览器都会使用这个策略。所谓同源是指,域名,协议,端口相同。当页面在执行一个脚本时会检查访问的资源是否同源,如果非同源,那么在请求数据时,浏览器会在控制台中报一个异常,提示拒绝访问。 同源策略一般又分为以下两种: DOM同源策略:禁止对不同源页面DOM进行操作。这里主要场景是iframe跨域的情况,不同域名的iframe是限制互相访问的。 XmlHttpRequest同源策略:禁止使用XHR对象向不同源的服务器地址发起HTTP请求。 跨域,指的是从一个域名去请求另外一个域名的资源。即跨域名请求!跨域时,浏览器不能执行其他域名网站的脚本,是由浏览器的同源策略造成的,是浏览器施加的安全限制。 跨域解决方案 通过jsonp跨域 document.domain + iframe跨域 location.hash + iframe window.name + iframe跨域 postMessage跨域 跨域资源共享(CORS) nginx代理跨域 nodejs中间件代理跨域 WebSocket协议跨域 方法一:jsonp 1、使用jquery的getJSON()方法,需要注意的是,url中要添加一个参数:callback=? var id_number =

jquery语法

霸气de小男生 提交于 2020-03-02 07:39:40
文章目录 jquery 效果 隐藏、显示 淡入淡出 滑动 动画 stop() jquery Html 获取 设置 添加 删除 CSS类 尺寸 jquery 遍历 AJAX jquery 效果 隐藏、显示 $ ( selector ) . hide ( speed , callback ) ; $ ( selector ) . show ( speed , callback ) ; 可选的 speed 参数规定隐藏 / 显示的速度,可以取以下值: "slow" 、 "fast" 或毫秒。 可选的 callback 参数是隐藏或显示完成后所执行的函数名称。 $ ( selector ) . toggle ( ) ; 切换hide ( ) 和show ( ) 方法 淡入淡出 $ ( selector ) . fadeIn ( speed , callback ) ; $(selector).fadeOut(speed,callback); $(selector).fadeToggle(speed,callback); $ ( selector ) . fadeTo ( speed , opacity , callback ) ; opacity 将淡入淡出效果设置为给定的不透明度 0 到 1 之间 滑动 $(selector).slideDown(speed,callback);/

验证码倒计时

余生颓废 提交于 2020-03-02 04:25:53
<body> <span id="sendCode" style="background: #ccc;padding: 5px;">发送验证码</span> <script src="http://code.jquery.com/jquery-1.12.0.min.js"></script> <script> var sendCode = $("#sendCode"); function countTime(options) { options = options || {}; var time = options.time || 30; var callback = options.callback || function() {}; var timeEndCallback = options.timeEndCallback || function() {}; var next = function() { if (time == 0) { clearTimeout(timer); timer = null; timeEndCallback(); } else { callback(time); time--; timer = setTimeout(next, 1000); }; }; timer = setTimeout(next, 0); }; function

hasura集成jwt

自闭症网瘾萝莉.ら 提交于 2020-03-01 01:44:57
hasura集成jwt ####1创建创建Auth0 App ​ https://manage.auth0.com ​ 选择Single Page Web Applications ​ 设置回调地址 ​ Allowed Callback URLs: http://localhost:3000/callback ​ Allowed Web Origins: http://localhost:3000 2 创建jwt rule 名字::hasura-jwt-claim function (user, context, callback) { const namespace = "https://hasura.io/jwt/claims"; context.idToken[namespace] = { 'x-hasura-default-role': 'user', // do some custom logic to decide allowed roles 'x-hasura-allowed-roles': ['user'], 'x-hasura-user-id': user.user_id }; callback(null, user, context); } 3获得jwt-config https://hasura.io/jwt-config 4设置环境变量 HASURA

callback自定义测试

拥有回忆 提交于 2020-02-29 22:25:51
标题callback自定义测试 简要说明: 1.由于浏览器的 同源策略 (域名,协议,ip端口相同),非同源域名之间传递会存在限制。 2. JSONP (用于解决跨域数据传输的问题,利用了HTML里元素标签的开放策略src引入Js文件,远程调用动态生成JSON文件来实现数据传递,并以任意javascript的形式传递,一般使用 Callback(回调函数返回,由于没有使用白名单的方法进行限制Callback的函数名,导致攻击者可以自定义Callback内容,从而触发XSS等漏洞)由浏览器的javascript引擎负责解释运行。 漏洞原理分析: 1.接口开发时,接收回调函数的参数值在进行拼接前未对恶意数据进行合理化处理,导致攻击者插入恶意的HTML标签并在返回的JSON数据格式原样输出; 2.同时服务端未**正确设置响应头content-type,**导致返回的json数据被浏览器当做Html内容进行解析,就可能造成xss等漏洞。 callback自定义测试条件: 1.一个使用jsonp技术的接口,参数中包含回调函数的名称(jasonp,callback,); 2.服务端返回的json数据时,响应头为 content-type: text/html; 3.服务端未对回调函数参数进行过滤净化。 callback自定义测试步骤: 1.设置代理到burpsuite; 2.网站根目录开始爬取

zepto源码研究 - event.js(高层api)

守給你的承諾、 提交于 2020-02-29 18:30:54
简要:本文主要介绍event.js中暴露出来的api,包括各种注册,移除事件方法和手动触发事件的方法,这些api都是调用了上一篇所讲到的底层api。 /** * 绑定事件,应直接采用on * 源自1.9版本前jquery的绑定事件的区分: bind()是直接绑定在元素上 .live()则是通过冒泡的方式来绑定到元素上的。更适合列表类型的,绑定到document DOM节点上。和.bind()的优势是支持动态数据。 .delegate()则是更精确的小范围使用事件代理,性能优于.live() .on()则是1.9版本整合了之前的三种方式的新事件绑定机制 * @param event * @param data * @param callback * @returns {*} */ $.fn.bind = function(event, data, callback){ return this.on(event, data, callback) } /** * 解绑事件,应直接用off * @param event * @param callback * @returns {*} */ $.fn.unbind = function(event, callback){ return this.off(event, callback) } /** * 绑定一次性事件 * @param

jsonp跨域请求学习笔记

青春壹個敷衍的年華 提交于 2020-02-28 06:47:04
前言 ajax,用苍白的话赞扬:很好。 我们可以使用ajax实现异步获取数据,减少服务器运算时间,大大地改善用户体验;我们可以使用ajax实现小系统组合大系统;我们还可以使用ajax实现前端的优化。(好一个排比) 虽然ajax很好,但在使用起来也会有一定的限制,出于安全考虑,不允许跨域通信。如果尝试从不同的域请求数据,会出现安全错误。(下面例子1可以直观看出) 同源策略限制 同源策略阻止从一个域上加载的脚本获取或操作另一个域上的文档属性。也就是说,受到请求的 URL 的域必须与当前 Web 页面的域相同。这意味着浏览器隔离来自不同源的内容,以防止它们之间的操作。这个浏览器策略很旧,从 Netscape Navigator 2.0 版本开始就存在。—— 摘自developerWorks 所谓同源是指,域名,协议,端口相同。 平地一声吼 本文讲解的是怎么利用ajax利用jsonp实现跨域请求,那么知道“同源策略”,就可以解决很多疑问:“为毛我的ajax加载不了数据!”“为毛浏览器控制台会对我如此漂亮的代码报错!” 例子1 先上一个错误示范 客户端代码: <script> // 客户端使用getJSON方法请求另一台机子上的脚本 $.getJSON("http://172.22.22.120/new/ajax.php",function(json){ alert(json.website

Django中间件的5种自定义方法

别来无恙 提交于 2020-02-28 06:41:37
阅读目录(Content) Django中间件 自定义中间件 中间件(类)中5种方法 中间件应用场景 回到顶部(go to top) Django中间件 在http请求 到达视图函数之前 和视图函数return之后,django会根据自己的规则在合适的时机执行中间件中相应的方法。 中间件的执行流程 1、执行完所有的request方法 到达视图函数。 2、执行中间件的其他方法 3、经过所有response方法 返回客户端。 注意:如果在其中1个中间件里 request方法里 return了值,就会执行当前中间件的response方法,返回给用户 然后 报错。。不会再执行下一个中间件。 回到顶部(go to top) 自定义中间件 1.在project下随便创建一个py文件 from django.utils.deprecation import MiddlewareMixin class Middle1(MiddlewareMixin): def process_request(self,request): print("来了") def process_response(self, request,response): print('走了') View Code 2、在setings文件中 注册这个 py文件 django项目的settings模块中,有一个 MIDDLEWARE

nodeCZBK-笔记2

吃可爱长大的小学妹 提交于 2020-02-27 11:52:24
目录 day04 mongoDB数据库使用 day05 node使用mongoDB数据库 day04 mongoDB数据库使用 电脑全局安装数据库 开机命令 : mongod --dbpath c:\mongo ; --dbpath 就是选择数据库文档所在的文件夹, 也就是说,mongoDB中,真的有物理文件(开机后文件夹会多出很多文件),对应一个个数据库。U盘可以拷走(.ns文件)。 一定要保持,开机这个CMD不能动了,不能 ctrl+c 打断。 管理数据库 : mongo 应该再开一个cmd输入 mongo ; 数据库命令 : 列出所有数据库: show dbs 使用某个数据库: use 数据库名字 新建:use一个不存在的,就是新建。 -- 必须插入一个数据,这个数据库才真创建成功 查看当前所在数据库: db 删除当前所在的数据库: db.dropDatabase() 插入数据 数据库中不能直接插入数据,只能往集合(collections)中插入数据。不需要创建集合,只需要写点语法: db.student.insert({“name”:”xiaoming”}) db.student 系统发现student是一个陌生的集合名字,所以就自动创建此集合。 导入数据库: ``` mongoimport --db aaa --collection bbb --drop --file

android P Choreographer原理

。_饼干妹妹 提交于 2020-02-26 14:34:12
前言 Android系统从4.1(API 16)开始加入Choreographer机制,用于同Vsync机制统一处理输入(Input)、动画(Animation)、绘制(Draw)三个UI操作。其实UI显示的时候每一帧要完成的事情只有这三种。Choreographer接收显示系统的时间脉冲(垂直同步信号-VSync信号),在下一个frame渲染时控制执行这些操作。 如何理解Choreographer? 1. Choreographer的源码位于android.view这个pakage中,是view层框架的一部分。 2. Choreographer中文翻译过来是"舞蹈指挥",字面上的意思就是优雅地指挥以上三个UI操作一起跳一支舞。这个词可以概括这个类的工作,如果android系统是一场芭蕾舞,他就是Android UI显示这出精彩舞剧的编舞,指挥台上的演员们相互合作,精彩演出。 3. 开发者可以使用Choreographer#postFrameCallback设置自己的callback与Choreographer交互,你设置的callCack会在下一个frame被渲染时触发。 4. Callback有如下5种类型:. public static final int CALLBACK_INPUT = 0; public static final int CALLBACK