这个版本主要有两个方面的修改:
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 关注微信
老哥你好:
我的微信公众号是个人类型,微信不支持认证,在接口里我注意到微信分享接口权限未获得,那么我可以用你的插件吗?
PS:appid和密钥,js安全域名,及ip都设置好,在网页源码里我看到是生效的,然而微信里直接分享还是一个普通的网页链接。
现在微信审核的严了,未认证的没有分享权限,如果你是很早申请的,可能还有
不过,你这个提交框框,真是。。。
要找到,还是非常困难的。
誒~放在哪里合适呢?
老哥,你的这个插件很好用。非常感谢。
微信公众号里没有设置js安全域名可以吗?我购买的是国外主机,没有ICP备案,设置不了这个安全域名
没有ICP备案是不行的-^-
这个插件非常棒,感谢 感谢 感谢,网站分享到朋友圈缩略图非常完美
发表评论
相关文章
国内AI资源汇总,AI聊天、AI绘画、AI写作、AI视频、AI设计、AI编程、AI音乐等,国内顺畅访问,无需科学上网。
扫码或点击进入:萤火AI大全
文章分类
最新评论