jsonp类型的接口调用中如何做安全防护

说到jsonp安全性的防范,我们可以从以下几点出发:1、 防止callback参数意外截断js代码,特殊字符单引号双引号,换行符均存在风险;2、 防止callback参数恶意添加标签(如script),造成XSS漏洞;3、 防止跨域请求滥用,阻止非法站点恶意调用。

JSONP

其中第三个主流的解决措施可以通过来源refer白名单匹配,以及结合token机制来限制。

而前两点,传统的做法分为以下几种:

1、 白名单原则,通过正则表达式来控制,如^[a-zA-Z0-9]+$来控制仅允许字母与数字,哈,其它的自己看着写;

2、 reponse中添加header头部,强制指定MIME类型,避免按HTML方式解析,防止XSS漏洞。这似乎是个很完美的解决方案。但是十分诡异的是,在某些版本的火狐浏览器下,直接访问MIME类型为JAVASCRIPT的请求时,浏览器仍然会按照HTML解析。或许是该浏览器设计的缺陷,但它忽略了我们设置的header。但目前而言无法保证所有浏览器严格按照MIME类型解析,将来可以成为标配。

相关推荐:
<Server port="8005" shutdown="SHUTDOWN"> <!--属性说明 port:指定一个端口,这个端口负责监听关闭Tomcat的请求 shutdown:向以上端口发送的关闭服务器的命令字符串 --> <Listener classNam …
1. 全部Activity可继承自BaseActivity,便于统一风格与处理公共事件,构建对话框统一构建器的建立,万一需要整体变动,一处修改到处有效。 2. 数据库表段字段常量和SQL逻辑分离,更清晰,建议使用Lite系列 …
漏洞描述: Vim 和 NeoVim 曝出了一个允许任意代码执行的高危漏洞。漏洞编号 CVE-2019-12735。 漏洞位于编辑器的 modelines 功能中,该功能允许用户指定窗口大小和其它定制选项,modelines 限制了沙盒内可 …
很多人在遇到操作系统的正版激活时都会遇到一个情况,就是如何更改我原来的序列号,或是直接清空掉原来的序列号,其实微软已经准备相关的工具。 首先启动你的命令提示窗(CMD)或PowerShell,启动的方法可 …
Google Chrome,又称Google浏览器,是一个由Google(谷歌)公司开发的网页浏览器。 该浏览器是基于其他开源软件所撰写,包括WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的界面。 Google …
拿起手机扫一扫即可带走我!