JSONP网站跨域请求的一种调用方式的安全风险

简介: 在网站开发设计的过程当中,我们会多多少少的遇到网站跨域的问题,一般网站的跨域,除了一个简单的img、link、script、iframe等等的标签调用法的跨域,还有一些特殊用途用到的跨域方式,我们现在了解应用比较广泛的JSONP跨域。

在网站开发设计的过程当中,我们会多多少少的遇到网站跨域的问题,一般网站的跨域,除了一个简单的img、link、script、iframe等等的标签调用法的跨域,还有一些特殊用途用到的跨域方式,我们现在了解应用比较广泛的JSONP跨域。


JSONP 网站跨域方式


JSONP英文称呼(JSON WITH PADDING),跨域的作用机制是调用在script标签里,这个需要网站开发人员在设计的过程当中,前端以及网站后端都要做好函数对接工作,这样才能使JSONP的跨域有效果。原理机制是当用户访问并请求到网站后端的情况下,会返回一个JS的地址,该JS地址会直接调用之前程序员设置好的函数,并把用户前端输入的数据作为一个参数,传入到后端服务器里,并成功的完成数据的对接工作。


我们看个例子,如下图所示:

u=959819984,1625297956&fm=173&app=25&f=JPEG.jpg

JSONP跨域方式


当用户访问一个页面,是不同跨域的页面就会返回没有值的页面,在上面的这个例子里,我们可以看出来,程序内置好的函数为foot经过callback函数的调用并直接传递给服务器的后端,后端服务器根据传递过来的参数值进行判断匹配,并返回给用户相应的值,来达到网站交互的功能,并实现整个jsonp的跨域调用,在整个调用过程当中,我们使用的都是script标签,用户的提交方式也只能是以GET提交数据的方式来执行。


JSONP跨域调用的方式上还存在着一些安全风险:


第一个是API 跨域调用的接口页面是大家都可以调用的那还好说,如果是管理员内部使用的一个API跨域接口那么带来的安全风险也是很大,存在着用户隐私安全泄露风险。


第二个是跨域调用返回的函数里用的JS代码的话,那么前端用户输入过来的值没有做判断的话,或者是安全过滤的话,有可能造成SQL注入问题,以及XSS跨站攻击,甚至严重一点的话会导致SOME漏洞的发生。


以上两个安全风险,在程序员开发网站代码的过程中,一定要提前做好漏洞修复,包括网站上线后,要做好网站安全检测,检测是否存在以上的安全风险,尽可能的对用户输入的值进行严谨的过滤,保障整个网站的安全稳定运行。

相关文章
|
6月前
|
前端开发
CROS跨域配置异常
这是一个CORS跨域问题案例,前端(localhost:8080)尝试访问后端(localhost:9999)被阻止。后端已配置CORS过滤器,但`addAllowedOrigin`错误地设为`http://localhost:9999`。正确配置应为`http://localhost:8080`以允许前端请求。
84 1
|
2月前
|
JSON 监控 安全
如何解决跨域请求中 JSONP 存在的安全性问题?
虽然 JSONP 是一种方便的跨域请求解决方案,但在使用过程中必须充分考虑其安全性问题,并采取相应的措施来加以防范,以确保系统的安全性和可靠性。
74 8
|
8月前
|
JSON 安全 JavaScript
jsonp和跨域:实现跨域请求的巧妙方法
jsonp和跨域:实现跨域请求的巧妙方法
|
8月前
|
JSON 前端开发 安全
前端解决跨域的六种方法
跨域问题是指当一个网页试图访问来自不同源(域名、协议、端口)的资源时,浏览器会出于安全考虑而限制这种访问。这是因为浏览器的同源策略防止了恶意网站获取其他网站的敏感信息。
|
JSON 缓存 安全
跨域时怎么处理 cookie?
跨域时怎么处理 cookie?
|
JSON JavaScript 前端开发
如何处理跨域请求:JSONP、CORS 和代理服务器
处理跨域请求是前端开发中的常见挑战,因为浏览器的同源策略限制了在不同域名、协议或端口之间进行直接通信。为了解决跨域请求的问题,可以使用以下三种常见的方法:JSONP、CORS和代理服务器。
500 0
|
前端开发
前端学习案例3-jsonp实现跨域方式3
前端学习案例3-jsonp实现跨域方式3
85 0
前端学习案例3-jsonp实现跨域方式3
|
前端开发
前端学习案例5-jsonp实现跨域方式5
前端学习案例5-jsonp实现跨域方式5
92 0
前端学习案例5-jsonp实现跨域方式5
|
前端开发
前端学习案例1-jsonp实现跨域方式
前端学习案例1-jsonp实现跨域方式
75 0
前端学习案例1-jsonp实现跨域方式
|
前端开发
前端学习案例4-jsonp实现跨域方式4
前端学习案例4-jsonp实现跨域方式4
84 0
前端学习案例4-jsonp实现跨域方式4