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类型解析,将来可以成为标配。

相关推荐:
漏洞描述: 国外著名的远程管理软件公司NetSarang旗下多款客户端连接软件产品(Xmanager、Xshell、Xftp 和 Xlpd)被曝植入后门,存在敏感信息数据泄露风险。 漏洞定级: 高危 漏洞影响范围: 受影响版本:Xman …
DSA是啥,那就是驾驶安全预警与导航系统的简称。目前在国内善领DSA还是不错的,关键是某些版本是免费开放的。 在使用善领DSA时最大的难点就是参数的配置了,现在网上已经出来自动配置工具,这里我们将参数 …
Google公司(中文官方译名谷歌,NASDAQ:GOOG、FWB:GGQ1),是一家美国的跨国科技企业,致力于互联网搜索、云计算、广告技术等领域,开发并提供大量基于互联网的产品与服务,其主要利润来自于AdWords等广 …
椭圆曲线加密算法简介:椭圆曲线密码学(Elliptic curve cryptography,缩写为ECC),一种建立公开金钥加密的算法,基于椭圆曲线数学。椭圆曲线在密码学中的使用是在1985年由Neal Koblitz和Victor Miller分 …
Adminer是一个类似于phpMyAdmin的MySQL管理客户端。整个程序只有一个PHP文件,易于使用和安装。 Adminer支持多语言(已自带11种翻译语言文件,可以按自己的需求翻译相应的语言)。支持PHP4.3+,MySQL 4.1+ …
拿起手机扫一扫即可带走我!