通过mysql的auto increment自增id值可能会泄漏一些敏感的数据。
例如用户表的user_id是自增的,在url中显示的id值可能就泄露了网站真实的用户数。
下面代码通过php及redis的incrby实现简单的发号器,代码如下:
function get_id($type, $server_ip, $server_port, $key) {
$init_num = 0;
$redis= new Redis();
$redis->connect($server_ip, $server_port);
$var = $redis->exists($key);
if($var == 0) {
$redis->set($key,$init_num);
}
$incr_num = rand(1,50); //增量为随机数
$var = $redis->incrby($key, $incr_num);
$redis->close();
return $var;
}