PHP——仿造微信OpenId
前言
这就是拿来玩的,其次假的就是假的,成不了真的!
代码
首先我观察了两个公众号关注后的生成openid的规则,发现了以下规则
1. OpenID都是28位
2. 前六位是有规律的
然后接下来就按着自己找的规律生成下就阔以了,之所以代码中会存在$ch
的这个变量是因为这个公众号,关注后生成的openid第七位是字母,而且大小写均有,所以就增加了这一项。
大家要是想生成自己的openid,可以依据下面的进行修改!
<?php
function open_id($head = "", $length = '', $char = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-')
{
if (!is_int($length) || $length < 0) {
return '$length 必须为Int类型';
}
$string = '';
for ($i = $length; $i > 0; $i--) {
$string .= $char[mt_rand(0, strlen($char) - 1)];
}
return $head.$string;
}
for ($i=0; $i < 1000; $i++) {
$ch = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$head = 'ox3E-0'.substr($ch, mt_rand(0, 31), 1);
echo open_id($head, 21),"<br />";
}
效果
PHP——仿造微信OpenId的更多相关文章
- 获取微信openID 的步骤
获取微信openid的步骤:1.进入-->判断openID是否为空: 空-->$url=urlencode("http://xxx/xxx.php");//回调链接 $ ...
- 微信OPENID授权方法
今天搞了下微信授权, 总结了下微信的授权规则与步骤 先来几个关键字 Openid 微信ip(属于唯一指向公众号的id) redirect_uri 授权回调地址 State 回调地址带参数 Appi ...
- 微信公众号开发系列-获取微信OpenID
在微信开发时候在做消息接口交互的时候须要使用带微信加密ID(OpenId),下面讲讲述2中类型方式获取微信OpenID.接收事件推送方式和网页授权获取用户基本信息方式获取. 1.通过接收被动消息方式获 ...
- ASP.NET CORE下用盛派微信SDK取微信openid
用CORE做项目用到微信的相关东西,听说那个盛派微信SDK很火,自己弄了下,只是简单的用用,用户访问页面取微信openid
- 防止活动上线时 微信openid 被伪造的解决办法
背景 前不久上线了一个 campaign 项目,一个 h5,后端为php,用户可以在微信中通过网页授权的方式登录,然后用微信 openid 作为唯一标识符进行签到和抽奖的操作. 结果后期出现了很多脏数 ...
- 微信openid
微信openid由用户id和公众号id加密而来,同一用户相对同一公众账号的openid是不变的.
- php获取微信openid
使用微信接口,无论是自动登录还是微信支付我们首先需要获取的就是openid,获取openid的方式有两种,一种是在关注的时候进行获取,这种订阅号就可以获取的到,第二种是通过网页授权获取,这种获取需要的 ...
- 微信openid获取(php),
在看这个的基础上有阅读过微信的相关文档, 这段url是给用户的,当用户点击进去后会出一个,确认登录授权,需要用户点击授权之后跳到你的授权回调地址(注意:下面php代码必须放在授权回调地址中:比如回调地 ...
- 通过php获取用户微信openid
// 基于CI框架 // 访问开始页面 public function url() { // wxAction/oauth2 微信回调地址:微信传入code值,通过该code在wxAction/oau ...
随机推荐
- 理解 Node.js 的 GC 机制
<深入浅出Node.js>第五章<内存控制>阅读笔记 随着 Node 的发展,JavaScript 的应用场景早已不再局限在浏览器中.本文不讨论网页应用.命令行工具等短时间执行 ...
- Spring Boot 项目的 API 接口防刷
首先是写一个注解类 拦截器中实现 注册到springboot中 在Controller中加入注解 说明:使用了注解的方式进行对接口防刷的功能,非常高大上,本文章仅供参考 一,技术要点:springbo ...
- C++ 智能指针 std::auto_ptr 分析
背景介绍: RAll机制 定义一个类来封装资源的分配和释放,在构造函数中完成资源的分配和初始化,在析构函数中完成资源的清理,从而保证资源的正确初始化和清理 ps:智能指针就是RAll机制的一种应用,智 ...
- 在JDBC中实现SQL语句的模糊查询
在JDBC中实现SQL语句的模糊查询 在大多数情况下我们可以在JDBC中写入sql语句通过占位符的方式来直接查询,但是如果要进行模糊查询,需要转义字符才能够正常查询. sql语句: select * ...
- POJ 1251 Jungle Roads - C语言 - Kruskal算法
Description The Head Elder of the tropical island of Lagrishan has a problem. A burst of foreign aid ...
- linux设置定时任务的方法(自己总结)
Linux设置定时任务步骤 linux设置定时任务的关键字是:crontab 1:查看现在已经有的定时任务的命令是 crontab -l,执行命令如下图: 2:新建定时任务的命令是:crontab ...
- Win10家庭版升级到企业版的方法
一.家庭版升级企业版 1.右键单击[此电脑]——>属性 2.点击更改产品密钥 3.输入密钥:NPPR9-FWDCX-D2C8J-H872K-2YT43 4.点击下一步,验证结束后点击开始升级,然 ...
- $(...).wordExport is not a function
参考网址:https://laod.cn/code-audit/jquery-is-not-a-function.html 问题描述: 1.view页面引用的是jquery-1.10.2.min.j ...
- 浅谈分词算法基于字的分词方法(HMM)
前言 在浅谈分词算法(1)分词中的基本问题我们讨论过基于词典的分词和基于字的分词两大类,在浅谈分词算法(2)基于词典的分词方法文中我们利用n-gram实现了基于词典的分词方法.在(1)中,我们也讨论了 ...
- Spring AOP无法拦截Controller的原因
因为Spring的Bean扫描和Spring-MVC的Bean扫描是分开的, 两者的Bean位于两个不同的Application, 而且Spring-MVC的Bean扫描要早于Spring的Bean扫 ...