波斯马BOSSMA Information Technology

WordPress微信分享插件-0.2.1版本发布

发布时间:2017年9月2日 / 分类:PHP, WordPress / 6,603 次浏览 / 评论

Bosima WeChat Page Sharing

这个版本主要有两个方面的修改:

1、管理界面中显示出口IP

在第一个版本发布的时候,曾经畅想了未来要实现的功能,其中一个就包括出口IP。

首先看两个问题:

为什么需要出口IP?

这个是微信公众号平台的安全要求,防止任意的服务器都可以使用你的公众号身份进行接口请求。

出口IP是不是域名解析到的IP?

很多情况下出口IP和域名解析到的IP是相同的,但是这不是绝对的,这两个是可以分别配置的,我目前使用的这个就不是。

本插件是怎么解决的?

获取本机IP有很多种方法,各种开发语言提供了一些函数,操作系统本机也提供了一些命令。

但是都存在一些问题,比如你的服务器是部署在局域网内的,外网访问是通过端口映射实现的,这种情况一般只能获取到局域网内的IP,如果更牛逼点可以获取到外网进入的IP(或者称为对外的网关入口IP)。局域网IP指定是没戏的,网关入口IP可能和出口IP是一致的,但也可能不同。

换个思路,程序访问微信的接口,微信会获取到程序所在服务器的出口IP,并进行验证。那么如果有一个地址,我们访问之后,他会返回我们的出口IP,那不就解决了吗?

网上有很多提供类似服务的,如ifconfig.me,但是为了速度,选择了国内的http://ip.chinaz.com/getip.aspx,可以点击试试效果。

下边是插件中的出口IP显示位置截图:

(出口IP的准确翻译没有找到,先用了Exit IP,如果有问题欢迎指正。)

如果你脑洞大开想到伪造IP的问题,这一般人是做不到的,所以这里不讲了。如果想了解更多可以看看这里:https://www.zhihu.com/question/34570444

2、微信配置保存路径变更

在测试升级上边第一个问题的时候,发现通过控制台升级后不能分享了,然后看控制台中微信AppId和AppSecrect都为空了,然后再看FTP中微信配置文件不见了,于是恍然大悟,升级的时候配置文件被删除了。

这实在是一大失误,找了半天也没找到如何控制升级只是替换文件,而不删除文件,如果有人了解欢迎告知。

然后参考了其它插件的处理方式,所以为了一劳永逸,从0.2.1版本开始,配置文件换了保存路径,保存到wp-content目录下,这样今后升级插件就不会导致被删除了。

为什么将配置保存到文件?

微信的配置其实可以保存到wordpress的配置表中,只是我这个主机送的数据库太不给力(之前慢的一塌糊涂,最近服务商升级后才快了),所以没有使用数据库;而且微信提供的php的demo中是将获取到的token和ticket保存到文件的。所以觉得保存到文件也没什么不可以,同时这个文件做了防护,不会被外人直接访问。

Over.

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自波斯马,原文地址《WordPress微信分享插件-0.2.1版本发布

关键字:

建议订阅本站,及时阅读最新文章!
【上一篇】 【下一篇】

目前有9 条评论

  1. zmlm2001 0楼:

    关注wordpress 关注微信

  2. David 0楼:

    老哥你好:
    我的微信公众号是个人类型,微信不支持认证,在接口里我注意到微信分享接口权限未获得,那么我可以用你的插件吗?
    PS:appid和密钥,js安全域名,及ip都设置好,在网页源码里我看到是生效的,然而微信里直接分享还是一个普通的网页链接。

  3. 霜天 0楼:

    不过,你这个提交框框,真是。。。
    要找到,还是非常困难的。

  4. 霜天 0楼:

    老哥,你的这个插件很好用。非常感谢。

  5. jason 0楼:

    微信公众号里没有设置js安全域名可以吗?我购买的是国外主机,没有ICP备案,设置不了这个安全域名

  6. saiy828 0楼:

    这个插件非常棒,感谢 感谢 感谢,网站分享到朋友圈缩略图非常完美

发表评论