首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PHP中生成唯一的用户id

问在PHP中生成唯一的用户id
EN

Stack Overflow用户
提问于 2017-11-02 06:30:09
回答 1查看 3.4K关注 0票数 0

我正在开发一个使用Laravel的应用程序,它将具有注册用户的功能。我希望为每个用户提供定制的唯一id (即: User_id = SM129)。Userid将具有以下特性: 1)注册时将自动生成用户id。2)应检查自动生成的用户id是否具有唯一性。

目前,我正在使用以下代码生成基于当前日期的唯一用户id。但是在这个用户名上有一个欺骗的可能性。请帮帮忙

代码语言:javascript
复制
<?php
//creates a unique id for user id 
echo "<br>";
$day = date('D');
$month = date('F');
$year = date('Y');
$fmonth = substr($month, 0, 1);
$fyear = substr($year, 2, 2);
$fday = substr($day, 0, 1);
$uniq = rand();
$funiq = substr($uniq, 0, 2);
$funiq1 = substr($uniq, 0, 1);
$joint=  'ST'.$fmonth.$fday.$funiq1.$fyear.$funiq ;
?>

<input type="text" name="username" value = "<?php echo $joint; ?>">
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-02 06:37:45

实际上,如果在Laravel应用程序中实现UUID,情况会更好:

https://medium.com/@steveazz/setting-up-uuids-in-laravel-5-552412db2088

UUID是“通用唯一标识符”的缩写,它由36个字符组成,包含字母和数字。每组都应该是独一无二的,每100年只有一次重复的机会,你可以阅读更多关于它的资料,并在这里和这里查看一些很酷的统计数据。

另外,不要在输入上添加值--生成唯一的ID服务器端(无论是在控制器/模型中)。

如果在输入中保留唯一的值,就没有什么能阻止用户实际更改该值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47068958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档