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

我要评论!

想一个你喜欢的昵称。
给一个你的常用邮箱。
想和萌萌哒的TA们说点啥。
  • Google Project Zero安全团队研究员 Tavis Ormandy 披露了一个微软尚未修复的 Windows 10 0day 漏洞。 Project Zero 的漏洞披露截至时间是 90 天,微软也承诺在 90 天里修复漏洞,但未能兑现,所以在第 91 天 Ormandy 公开了漏洞。...
  • .NET框架(.NET Framework) 是由微软开发,一个致力于敏捷软件开发(Agile softwaredevelopment)、快速应用开发(Rapidapplication development)、平台无关性和网络透明化的软件开发平台。.NET是微软为下一个十年对服务器和桌面型软件工程...
  • 很多人在遇到操作系统的正版激活时都会遇到一个情况,就是如何更改我原来的序列号,或是直接清空掉原来的序列号,其实微软已经准备相关的工具。 首先启动你的命令提示窗(CMD)或PowerShell,启动的方法可以是开始菜单中附件中找,又或是进入运行(WIN+R快捷键)输入CMD来运行。 WIN8系列可以开...
  • 常见可能情况仅供参考 1、系统有其余版本Office的残留信息 2、缺少更新 3、安装过程所需关键组件被阉割 也就是说,大体是上述的问题导致的。 首先,卸载原来的不完全,可以通过微软的专用Office卸载工具来清理,网上有,自己搜索下。然后是更新问题,请更新上系统的补丁,如win8.1安装offic...
  • Win10以及之前的Win7/Win8/Win8.1在有密码的情况下会在登录画面要求用户输入密码,这是出于安全考虑。可有时候我们也许不想要输入密码,但又不想直接去掉密码。 有没有什么办法让Win10自动登录呢? 当然有,要想启动时自动登录Win10,需要进行如下设置: 1、在运行中输入control...
微信扫一扫即可带走我!