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们说点啥。
  • CSRF是Cross Site Request Forgery的缩写(也缩写为CSRF),直译过来就是跨站请求伪造的意思,也就是在用户会话下对某个CGI做一些GET/POST的事情。这些事情用户未必知道和愿意做,你可以把它想做HTTP会话劫持。 网站是通过cookie来识别用户的,当用户成功进行身份...
  • Xcode是 macOS 系统以及ios系统开发者专用于构建 macOS 及 ios 应用程序的完整工具集。 Xcode 9 经过重新设计,它们的性能更优秀、使用更容易,能带给用户前所未有的助益。具有全新的用户界面,而且它赖以构建的技术也得到了充分的验证。 一方面,苹果公司自身就是通过这些...
  • RegexBuddy是你使用正则表达式的最佳伴侣。轻松地创建你想要的正则表达式,清楚地去理解他人编写的复杂正则表达式内容,以及快速测试任何正则表达式示例字符串或文件,防止对实际数据的有错误的匹配。 可以支持 C#、.Net 、Java、Prel、javascript、Python 等等语言。在编写正...
  • 升级了macOS Sierra (10.12)版本后在“安全性与隐私”中不再有“任何来源”选项,如下图: 这可麻烦了,有些第三方的应用用不了了,若我们想要装却要允许任何来源的朋友就不知该怎么办了。 其实只要用我们万能的终端,这个问题还是能迎刃而解。 接下来,我们就打开终端,然后输入以下命令(要输入密...
  • 如你所知,主流的三款桌面虚拟平台是VMware\VirtualBox\Hyper-V。VMware是商业的软件,当然官方也时不时地给出一些序列号供非商业用途使用,主要是占领市场份额嘛。VirtualBox是Oracle免费开源的虚拟机平台,但是很多人误以为开源就是可以商用,这是错误的,Oracle明...
微信扫一扫即可带走我!