php 怎么生成一个机器码,一个客户端唯一的一个值,没有重复 类似mac地址,这样每台机器只能一个注册,防止刷注册
回复内容:
php 怎么生成一个机器码,一个客户端唯一的一个值,没有重复 类似mac地址,这样每台机器只能一个注册,防止刷注册
建议这个唯一识别号不要再在服务端坐。我做过的app客户端接口当中不管是对接IOS还是Android客户端都会生成一个唯一Token值给到我们服务端,我们只要接收识别就可以了。真没有必要我们来生产。如果你非要自己在服务端做唯一生成,用PHP内置函数uniqid()来生产,这个能精确到微妙够用了,你可以在自己加一些参数,希望对你有帮助
这个看具体情况,如果服务器都在一个集群,可以 服务器ip + 进程id + 时间戳
base_convert(ip2long($_SERVER['REMOTE_ADDR']),10,36).'-'.getmypid().'-'.base_convert(microtime(true)*1000 - strtotime('2016-06-07 18:00:00')*1000,10,36)
特点是乱又长,同时如果有多个集群,内部ip段是一致的,就行不通,优点是各个服务器单独生成。
立即学习“PHP免费学习笔记(深入)”;
另外redis的自增,mysql的自增,也都可以,这些方案看起来简单,维护起来麻烦就是了,例如redis挂了,如何恢复自增字段等。
由客户端生成,随机生成一个6个字节的山寨mac地址就行了,基本上不会重复的,存在keychain中就可以了。