JSONP原理以及安全问题

本文详细介绍了JSONP的工作原理,通过动态插入script标签实现跨域请求。同时,探讨了JSONP劫持的安全隐患,这是一种CSRF攻击形式,允许攻击者获取用户敏感信息。最后,提出了防御措施,包括限制来源refer、遵循JSON格式标准输出和过滤callback函数名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JSONP介绍

JSONP全称是JSON with Padding ,是基于JSON格式的为解决跨域请求资源而产生的解决方案。他实现的基本原理是利用了 HTML 里 元素标签没有跨域限制

JSONP原理就是动态插入带有跨域url的script标签,然后调用回调函数,把我们需要的json数据作为参数传入,通过一些逻辑把数据显示在页面上。

比如如下代码所示,通过script标签完成http://localhost:8080/test01/dom01?callback=jsontest的调用。
在这里插入图片描述
后端代码:
在这里插入图片描述

访问test.html页面执行script,请求http://localhost:8080/test01/dom01?callback=jsontest,然后将请求的内容作为参数,执行jsontest函数,jsontest函数将请求的内容弹出来出来。结果如下:
在这里插入图片描述
这样我们就通过script标签实现了快于请求,绕过了同源策略。

Ajax的jsonp跨域请求原理和这个是一样的,也是在frame里面通过创建一个临时的script标签来实现跨域请求。感兴趣的同学可以自己验证下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值