Php 在浏览器中为变量生成5位数

Php 在浏览器中为变量生成5位数,php,algorithm,Php,Algorithm,在我的数据库中有一个表,它有一个Id列 我将此id用作链接变量。例如test.php?id=1,deneme.php?id=2 我希望数字为5位,这样就不能简单地更改id值并转到页面 我该怎么做?这是一种产生5位数的算法吗? 例如,我给1,它产生34212,我给这个数字作为test.php?id=34212,得到它的等价物,即1,然后将获取页面。您的问题的一个常见解决方案是在请求中使用id发送令牌。因此,您需要检查令牌是否有效,然后执行请求的操作 令牌是在其生成的服务器端生成的,您知道如何检查它

在我的数据库中有一个表,它有一个
Id

我将此
id
用作链接变量。例如
test.php?id=1
deneme.php?id=2

我希望数字为5位,这样就不能简单地更改
id
值并转到页面

我该怎么做?这是一种产生5位数的算法吗?
例如,我给1,它产生34212,我给这个数字作为
test.php?id=34212
,得到它的等价物,即1,然后将获取页面。

您的问题的一个常见解决方案是在请求中使用id发送令牌。因此,您需要检查令牌是否有效,然后执行请求的操作


令牌是在其生成的服务器端生成的,您知道如何检查它是否有效,您可以使用MD5或SHA1进行此操作。

当您的数据库中有10000行或100000行时会发生什么情况。它不可能有,因为这是课程表,5位数字使我可以有99.999个课程。希望此答案能为您提供指导。[点击这里][1][1]:如果你想要一个算法,它必须是一些简单的东西,比如
$id=$\u GET['id']-34211,但有人可以轻松地增加/减少该数字。如果要防止递增/递减,则需要在创建记录时生成一个随机数,并使用该随机数进行查找。