如何在PHP的一天开始生成一个4位数的随机数,并在每次执行脚本时递增它。然后在24小时后重置计数器。我不想保存一些外部文件或数据库的随机数。那么有可能在不将其保存到某个文件的情况下实现这一目标吗?
就像我在每次执行我的ph脚本时生成第2346天的数字一样,它增加为 3457 4568 5679如果它达到9999则循环到000024小时后会生成一个新的随机数。
我这样做是为了演示一些会话令牌漏洞。
答案 0 :(得分:0)
嗯,这取决于想要完成的事情。 (会话令牌漏洞?)
您始终可以使用rand()
生成一个数字如果你不想保存它,你可以创建一个公式来计算每一天的新数字,但它不再是随机的。
您可以将此号码保存在数据库或文件(或APC等缓存机制)中,但您肯定需要存储该号码。
如果您需要每个用户的号码,您可以使用会话存储($ _SESSION),尽管从技术上讲,会话仍然是一个文件,但在大多数情况下;)
答案 1 :(得分:0)
您可以存储数字和生成日期。在你正在做的那一天你增加,然后如果日期过去(你会在递增前检查这个),你将为新的一天生成一个新的随机数。
我很好奇你的演示: - )