找回密码
 立即注册
搜索

29

主题

29

帖子

141

积分

超级版主

Rank: 8Rank: 8

积分
141
发表于 2016-1-27 13:07:40
本帖最后由 cf_ihuyi 于 2016-6-28 10:13 编辑

目的
无论是签名还是微信登录,都是为了加强安全性,防止被刷奖,将被刷奖的可能性降低。


2种方式区别
微信登录:当应用或系统限定于微信内使用则可以选择微信登录,这也是最为常见的方式,通常不需要开发即可使用。
签名登录:当应用想要更强的兼容性或限定于APP内,PC端,不止在微信内使用则可以选择此登录方式,当然也可以在微信内使用。签名生成代码工作量非常少,通常10行以内代码即可搞定。


用户唯一性判定方式
同一活动中,同一微信openid或签名id 与手机号码绑定,是一对一关系,同样微信号或同样签名id算作一个用户,手机号码不可重复。


选择建议

  • 微信是个非常好的传播渠道,没有特别需要,直接使用此方式会更便捷和快速以及更好传播(可以不需要开发);
  • 关注微信公众号之类的活动,首选微信登录;
  • APP内活动则可以使用签名登录;
  • PC端站点活动首选签名登录;
  • 确保用户必须满足一定的资格才能参与活动则可以选择签名登录;


签名应用场景举例

  • 充值满1000元拥有1次抽奖机会;
  • 实名验证之后拥有1次抽奖机会;
  • 绑定银行卡之后才能拥有1次抽奖机会;
  • 用户级别达到3级拥有1次抽奖机会;
  • 微信用户是已关注了微信公众号拥有1次抽奖机会;
  • ……

注意:
目前只提供1次抽奖机会,若需要对同一用户提供多次抽奖机会,请与我们沟通。


签名生成方式说明

传递参数:
id:标识id
nonce:随机数
timestamp:时间戳(数值型,允许 10 分钟 统一以东 8 时间,格式如:1420045261)
sign:签名

加密方式:对参数按照key=value的格式,并按照参数名ASCII字典序排序并拼接项目密钥。

$string = "id=$id&nonce=$nonce&secret=密钥&timestamp=$timestamp";
$sign=sha1($string);

则传递如:



返回错误码
1001:缺少关键参数如:id nonce  timestamp sign
1002:签名过期,目前为10分钟
1003:签名验证错误



更多功能
当传递参数cid时,若选择『流量券』方式,则任务链接会自动加上传递的参数
假设任务地址为:http://www.baidu.com  则会更改为:http://www.baidu.com?cid=xxx
假设任务地址为:http://www.baidu.com?test=1 则会更改为:http://www.baidu.com?test=1&cid=xxx
假设需要自定义回传参数名称可如此:http://www.baidu.com?cid= 系统会自动补全为:http://www.baidu.com?cid= xxx
使用道具 举报 回复
发新帖
您需要登录后才可以回帖 登录
返回顶部