即时到帐支付丨API支付丨接口申请提供商丨BC-Zpay平台网

支付宝接口

支付宝开放平台基于支付宝的海量用户,将强大的支付、营销、数据能力,通过接口等形式开放给第三方合作伙伴,帮助第三方合作伙伴创建更具竞争力的应用。
通过接入支付宝开放平台,第三方合作伙伴可以获得更多的流量、用户和收益,而第三方合作伙伴提供的服务也让用户获得了更丰富的体验,平台生态更加繁荣,最终实现多方共赢。

通过平台能做什么

开发者是开放生态的主要组成部分,通过与商家、消费者的合作,提升商家的服务效率和营收,降低运营成本,使消费者的体验更便捷、更愉悦、更完美。无论你是第三方开发者、系统商、线下推广组织还是商家,都能基于开放平台找到适合自己的角色和方向。

插件提供商:

通过我们提供的丰富的 API 接口,开发者可以开发并在应用市场上线各类插件,解决门店管理、支付核销、会员营销、数据分析等方面的问题。开放平台还为各种应用提供了清晰的盈利模式,通过应用市场的销售获得回报。

服务提供商:

在应用市场之外,合作伙伴还可以通过服务市场为商家提供店铺装修、拍摄修图、地面推广、门店代运营等服务。实现线上订购,线下服务。

场景分销商:

第三方APP或媒介可以借助支付宝开放平台的分销能力为商家提供基于门店、卡券、内容的分销服务,为商家的流量导入、品牌推广提供平台。分销商可以为所提供的服务获取收入。

平台的优势

业务优势

  • 一站式商家服务:为商家提供支付、门店、营销、数据等一站式服务
  • 海量的实名用户:4 亿实名用户,迅速沉淀会员信息玩转会员体系
  • 丰富的线下场景:超过 50 万家线下门店,包括餐饮、超市等多种行业

技术支持

  • 接口支持:支付、分享、账户、营销、信用、服务窗等九大优质接口支持
  • 开发工具:包括 Java , PHP, .Net等语言的 SDK 与 Demo 示例
  • 服务保障:丰富的技术文档,开放的技术社区,高效的在线技术服务,是你开发的坚强后盾


盈利模式

 

  • 通过应用获利:基于商家服务市场,为合作伙伴的插件及服务提供变现渠道
  • 营销咨询:基于商家的营销需求,为合作伙伴提供多元的商家增值服务
  • 代运营:合作伙伴提供商家运营托管服务,最大化商家的营销价值

 

应用安全开发指南

 

 

 

更新时间:2019-11-06

 

《开放平台第三方应用安全开发指南》给出常见开发场景下,帮助开发人员完善应用安全性的开发建议,同时也对常见的安全漏洞进行描述,并提供对应的修复方案。
 

1. 常见开发场景安全开发指南

 

 

1.1. 敏感信息使用场景

 


敏感信息指用户的 身份证号、银行卡号、手机号 等身份信息。重要敏感信息的脱敏规范如下。

身份证 显示前 1 位 + *(实际位数) + 后 1 位,如: 3****************3
银行卡 显示前 6 位 + *(实际位数) + 后 4 位,如:622575******1496
手机号 显示前 3 位 + **** + 后 4 位,如:137****9050
敏感信息类型 展示规范

1.1.1. 敏感信息用于展示的场景

  • 原则:敏感信息的展示请严格按照脱敏规范进行脱敏
    • 说明:脱敏的逻辑必须在服务端完成,不能使用 Javascript 在客户端进行脱敏,包括代码注释、隐藏域、url 参数、cookies 等处的数据也必须脱敏。
    • 说明:不能使用可逆的编码/加密方式,如 base64 编码等代替脱敏规范。
    • 说明:若敏感信息明文展示在应用中,没有按照脱敏规范完成脱敏。支付宝开放平台将有权暂停敏感数据相关接口的开放。

1.1.2. 敏感信息用于身份校验的场景

  • 原则:不要直接将敏感信息的明文信息在客户端与服务端之间传递
    • 说明:可以将敏感信息在服务端关联到用户标识 ID,在客户端保存用户标识 ID 并提交到服务端,服务端根据 ID 取出对应信息后进行校验。
    • 说明:如果服务端没有用户标识 ID 的机制,同时也必须在客户端与服务端之间传递敏感信息,请使用 AES128 对称加密算法进行加密后传输,并且不能将解密密钥传输给用户端。

1.2. HTML 页面渲染

 


  • 原则:所有在页面渲染的敏感数据 (身份证、银行卡号、手机号) 必须进行脱敏
    • 说明:参考章节 1.1.1. 敏感信息用于展示的场景
  • 原则:禁止在 Cookie 中 明文写入 敏感数据
    • 说明:参考章节 1.1.2. 敏感信息用于用于身份校验的场景
  • 原则:禁止向 HTML 页面输出未经安全过滤或未正确转义的用户数据
    • 说明:用户数据不仅仅包括用户正常数据,同时包括攻击者可修改,伪造的其他数据。
    • 说明:参考章节 2.1 跨站脚本(XSS)漏洞
  • 原则:HTML 页面动态输出 JSON、JavaScript 必须对其中的字符串值做 XSS 防御处理
    • 说明:参考章节 2.1 跨站脚本(XSS)漏洞
  • 原则:默认设置 HTTP Header 中的 HttpOnly 属性为 true
    • 说明:设置 HttpOnly 为 true,将可以禁止 JavaScript 读取页面 Cookie 信息,一定程度上防范 XSS 攻击。
    • 说明:参考章节 2.1 跨站脚本(XSS)漏洞
  • 原则:如果网站使用 HTTPS 协议,默认设置 HTTP Header 中的 secure 属性为 true
    • 说明:设置 secure 为 true,Cookie 信息将不会在 HTTP 连接中传输,一定程度上防范 XSS 攻击。
    • 说明:参考章节 2.1 跨站脚本(XSS)漏洞
  • 原则:服务器向响应 HTTP Header 写入用户输入数据时必须做 CRLF 过滤或者转义
    • 说明:参考章节 2.3 HTTP Header 注入漏洞

1.3. 接口调用操作

 


  • 原则:AJAX 接口必须执行 CSRF 过滤
    • 说明:参考章节 2.2 CSRF 漏洞
  • 原则:AJAX 接口输出 JSON 字符串禁止通过字符串拼接构造,且输出的 JSON 需要经过安全过滤
    • 说明:参考章节 2.1 跨站脚本(XSS)漏洞
  • 原则:AJAX 接口返回头必须设置 Content-Type 为 application/json;charset=utf-8

1.4. 表单提交操作

 


  • 原则:统一使用 POST 方式提交表单
    • 说明:Get 请求可以通过构造 img 等标签发起,造成 CSRF
    • 说明:参考章节 2.2 CSRF 漏洞
  • 原则:Form 表单提交必须执行 CSRF 过滤
    • 说明:参考章节 2.2 CSRF 漏洞
  • 原则:用户输入的富文本浏览器展示之前必须由服务器端做安全过滤
    • 说明:参考章节 2.1 跨站脚本(XSS)漏洞

1.5. 数据库操作

 


  • 原则:用户密码存储须加盐存储,各用户盐值不同
  • 原则:若涉及证件号等敏感信息的存储,须使用 AES-128 算法加密存储
  • 原则:编写的 SQL 必须预编译,不允许通过字符串拼接的方式合成
    • 说明:部分特殊场景,必须通过拼接合成,则拼接的变量必须经过处理,只允许 [a-zA-Z0-9_-.]+ 字符。
    • 说明:参考章节 2.5 SQL 注入漏洞

1.6. URL 重定向

 


  • 原则:URL 重定向的目标地址必须执行白名单过滤

1.7. 跨域操作

 


1.7.1. JSONP 跨域

  • 原则:JSONP 接口 Callback 必须验证有效性
  • 原则:JSONP 接口输出 JSON 字符串禁止通过字符串拼接构造,且输出的 JSON 需要经过安全过滤
    • 说明:参考章节 2.1 跨站脚本(XSS)漏洞
  • 原则:JSONP 接口必须对 REFERER 进行白名单校验,或执行 CSRF 检查
  • 原则:JSONP 接口返回头必须正确设置 Content-Type 为 application/javascript;charset=utf-8

1.7.2. CORS 跨域

  • 原则:支持 CORS 跨域的接口,返回头 Access-Control-Allow-Origin 必须使用白名单验证,禁止直接返回*

1.8. 文件上传与下载

 


  • 原则:限制可下载文件所在的目录为预期范围,并通过指定文件编号的方式来定位待下载文件
    • 说明:参考章节 2.4 目录遍历漏洞
    • 说明:参考章节 2.6 文件下载漏洞
  • 原则:保存上传文件的目录不提供直接访问
  • 原则:对上传文件的大小和类型进行校验,定义上传文件类型白名单
    • 说明:参考章节 2.7 文件上传漏洞

1.9. 加密与签名

 


不同场景使用的加密算法请参考下表。
加密场景 AES128
摘要场景 SHA256
签名场景 RSA2048
场景 算法

2. 常见安全漏洞及修复方案

 

 

2.1 跨站脚本(XSS)漏洞

 


漏洞描述

跨站脚本攻击 (Cross Site Scripting, XSS) 发生在客户端,可被用于进行窃取隐私、钓鱼欺骗、偷取密码、传播恶意代码等攻击行为。 恶意的攻击者将对客户端有危害的代码放到服务器上作为一个网页内容, 使得其他网站用户在观看此网页时,这些代码注入到了用户的浏览器中执行,使用户受到攻击。一般而言,利用跨站脚本攻击,攻击者可窃会话 Cookie 从而窃取网站用户的隐私。

漏洞危害


  • 钓鱼欺骗:最典型的就是利用目标网站的反射型跨站脚本漏洞将目标网站重定向到钓鱼网站,或者注入钓鱼 JavaScript 以监控目标网站的表单输入。
  • 网站挂马:跨站时利用 IFrame 嵌入隐藏的恶意网站或者将被攻击者定向到恶意网站上,或者弹出恶意网站窗口等方式都可以进行挂马攻击。
  • 身份盗用:Cookie 是用户对于特定网站的身份验证标志,XSS 可以盗取到用户的 Cookie,从而利用该 Cookie 盗取用户对该网站的操作权限。如果一个网站管理员用户 Cookie 被窃取,将会对网站引发巨大的危害。
  • 盗取网站用户信息:当能够窃取到用户 Cookie 从而获取到用户身份时,攻击者可以获取到用户对网站的操作权限,从而查看用户隐私信息。
  • 垃圾信息发送:比如在 SNS 社区中,利用 XSS 漏洞借用被攻击者的身份发送大量的垃圾信息给特定的目标群。
  • 劫持用户 Web 行为:一些高级的 XSS 攻击甚至可以劫持用户的 Web 行为,监视用户的浏览历史,发送与接收的数据等等。
  • XSS 蠕虫:XSS 蠕虫可以用来打广告、刷流量、挂马、恶作剧、破坏网上数据、实施 DDoS 攻击等。

解决方案

  • 对参数做 html 转义过滤,要过滤的字符包括:单引号、双引号、大于号、小于号,& 符号,防止脚本执行。
  • 在变量输出时进行 HTML ENCODE 处理。

代码示例

ASP 问题示例代码


<%
Dim param
Set param=Request.QueryString("dd")
response.write param
%>

ASP 修复示例

<%
Dim param
Set param=Request.QueryString("dd")
response.write Server.HTMLEnCode(param)
%>

PHP 问题代码示例