开发微信公众平台时需要注意的安全问题

2019-03-02 00:09|来源: 网路

申请公众平台开发者模式需要填写一个URL和一个Token, 见下图:

        如果这个URL和Token被别人猜中了, 并且你不判断消息中的ToUserName属性是否跟你微信号相配, 那么别人的公众帐号申请开发者时填写你的URL和你的Token, 别人的公众帐号就能把你公众帐号的功能盗用了.

URL

        你的微信号有时会要求用户绑定一些信息, 一般都是一个HTML5的网页, 这条微信内容其实就是一段HTML. 问题是复制这条消息到其它文本框中, HTML是暴露的, 你的<a href=”XXX”>XXX</a>会暴露出来, 所以别人可以轻而易举的拿到链接地址.

        关键是不要让别人根据你的链接猜到你申请开发者时填写的URL, 在我看来, 以下格式的URL都相对不安全的:

http://www.XX.com/

http://www.XX.com/微信号

http://www.XX.com/微信号/weixin.aspx

http://www.XX.com/微信号/weixin.ashx

http://www.XX.com/微信号/weixin.php

http://www.XX.com/微信号/微信号.aspx

http://www.XX.com/微信号/微信号.ashx

http://www.XX.com/微信号/微信号.php

等等…

Signature

        在群里经常听别人说图省事, 直接把echostr返回, 根本没顾忌这样做所带来的后果. 如果别人知道了你的URL, 随便填一个Token, 他就顺利验证成功了.

Token

        Token建议使用随机字符串, 以下格式的Token都是相对不安全的:

123

123456

abc

微信号

微信号123

等等...

        如果不巧, 上面两点你都没有注意, 别人可能就会得逞. 上午我就测试了一个, 猜了一次就成功了.

ToUserName

        有人说你不是知道了我的URL和Token, 我改一下Token你不就没用了么. 关键问题是别人之前用你的URL和Token验证成功了, 微信一旦认为你成功了, 以后还会再次验证这个URL和Token么? 所以微信每条消息返回的ToUserName属性不是没用的, 你的程序应该判断是否跟你的微信号相配.

        如果你的URL和Token暴露了, 又没有判断ToUserName, 那么你的益达就真的是别人的益达了.

给微信的建议

1. URL必须是唯一的

        A帐号已经用这个URL成功激活开发者模式, 就不应该允许另一个B帐号再用这个URL来激活开发者模式.

2. Token由公众平台生成

        可以在用户输入URL之后, 系统为用户生成Token. 用户在自己的系统中改好Token后再验证, 这样可以保证Token的随机.



转自:http://my.oschina.net/panpanhtai/blog/285005

相关问答

更多
  • JAVA的WEB开发、数据库开发等,,,,,,,,,,具体要看需求、构架等
  • 能使用的!微信 在安卓手机里可以使用,安装是用java 开发的,所以 可以用java开发
  • JAVA的WEB开发、数据库开发等,,,,,,,,,,具体要看需求、构架等
  • 首先订阅号要通过微信认证才可以成为拥有自定义菜单不通过验证成为开发者也无法获得自定义菜单其次成为开发者要有个能够公网访问的URL也就是通常使用的网址现常用的有新浪的sae平台或者百度的开发者平台然后在该网.址下部署微信提供的接口文件修改接口文件中的token然后在token一栏中填写修改过后的token即可。‘动拇指’的团队做的,需要的话可以问.问去
  • 微信公众平台开发注意事项: 一、微信公众平台开发是指为微信公众号进行业务开发,为移动应用、PC端网站、公众号第三方平台(为各行各业公众号运营者提供服务)的开发,请前往微信开放平台接入。 二、在申请到认证公众号之前,你可以先通过测试号申请系统,快速申请一个接口测试号,立即开始接口测试开发。 三、在开发过程中,可以使用接口调试工具来在线调试某些接口。 四、每个接口都有每日接口调用频次限制,可以在公众平台官网-开发者中心处查看具体频次。 五、在开发出现问题时,可以通过接口调用的返回码,以及报警排查指引(在公众平台 ...
  • 小猪cms还凑合,,有源码的 ,每周更新两三个模板的 ,你可以看下 ,,
  • 登录微信公众平台,点击左下角的 开发者工具,即可看到相关文档。
  • 微网站开发模式教程:   第一步:申请消息接口   在公众平台网站的高级功能 – 开发模式页,点击“成为开发者”按钮,填写URL和Token,其中URL是开发者用来接收微信服务器数据的接口URL。Token可由开发者可以任意填写,用作生成签名。   第二步:验证URL有效性   开发者提交信息后,微信服务器将发送GET请求到填写的URL上,GET请求携带四个参数:   开发者通过检验signature对请求进行校验。若确认此次GET请求来自微信服务器,请原样返回 echostr参数内容,则接入生效,成为开发 ...
  • 听起来像是最近比较火的摇一摇和微信现场互动,这两个都是微信第三方公司开发的微信应用。现在做这种程序开发的很多。而且现在除了上面那些应用,还有照片打印机,微信wifi等硬件产品,这些东西都是为了帮助商家的微信公众号吸收粉丝的,如果单纯做活动,用这些软件只是增加了娱乐性和互动性,如果长远来看,要是想做下公司的微信营销, 58招财猫, 咨询一下;
  • 这个需要根据你找什么样的开发商,然后开发什么样的功能,如果是该需要对接你们系统之类的功能比较复杂,有几千的,也有好几万的,这个看你的需求